History log of /openbsd-current/sys/arch/sparc64/conf/files.sparc64
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.156 29-Mar-2024 miod

Clean-up cache-related definitions and routines.

ok claudio@ kettenis@


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE OPENBSD_7_5_BASE
# 1.155 14-Dec-2022 jsg

add __ctzdi2 to sparc64 kernel

If __builtin_ctzl() is used on sparc64, gcc 4.2 will emit a call to
__ctzdi2. For userland this is in libgcc or compiler-rt. In the kernel
we put these functions in libkern.

'looks good' deraadt@ miod@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.154 13-Aug-2020 jca

Add __multi3 from compiler_rt-8.x

Needed to build a sparc64 kernel with clang 10.
ok kettenis@


Revision tags: OPENBSD_6_7_BASE
# 1.153 02-Apr-2020 jca

Add __lshrti3 to libkern and use it on sparc64

With this it's possible to build the kernel using clang.
Discussed with claudio@, ok deraadt@


Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.152 24-Mar-2019 visa

Remove a stale kgdb dependency.

OK deraadt@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.155 14-Dec-2022 jsg

add __ctzdi2 to sparc64 kernel

If __builtin_ctzl() is used on sparc64, gcc 4.2 will emit a call to
__ctzdi2. For userland this is in libgcc or compiler-rt. In the kernel
we put these functions in libkern.

'looks good' deraadt@ miod@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.154 13-Aug-2020 jca

Add __multi3 from compiler_rt-8.x

Needed to build a sparc64 kernel with clang 10.
ok kettenis@


Revision tags: OPENBSD_6_7_BASE
# 1.153 02-Apr-2020 jca

Add __lshrti3 to libkern and use it on sparc64

With this it's possible to build the kernel using clang.
Discussed with claudio@, ok deraadt@


Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.152 24-Mar-2019 visa

Remove a stale kgdb dependency.

OK deraadt@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.154 13-Aug-2020 jca

Add __multi3 from compiler_rt-8.x

Needed to build a sparc64 kernel with clang 10.
ok kettenis@


Revision tags: OPENBSD_6_7_BASE
# 1.153 02-Apr-2020 jca

Add __lshrti3 to libkern and use it on sparc64

With this it's possible to build the kernel using clang.
Discussed with claudio@, ok deraadt@


Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.152 24-Mar-2019 visa

Remove a stale kgdb dependency.

OK deraadt@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.153 02-Apr-2020 jca

Add __lshrti3 to libkern and use it on sparc64

With this it's possible to build the kernel using clang.
Discussed with claudio@, ok deraadt@


Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.152 24-Mar-2019 visa

Remove a stale kgdb dependency.

OK deraadt@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.152 24-Mar-2019 visa

Remove a stale kgdb dependency.

OK deraadt@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.151 19-Feb-2018 mpi

Convert sparc64 to MI mutex.

ok dlg@


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.150 14-Feb-2018 jsg

prune files.* entries that refer to files not in tree
ok krw@ mpi@


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.


# 1.149 17-Oct-2017 visa

Add a machine-independent implementation for the mplock.
This reduces code duplication and makes it easier to instrument
lock primitives.

The MI mplock uses the ticket lock code that has been in use
on amd64, i386 and sparc64. These are the architectures that now
switch to the MI code.

The lock_machdep.c files are unhooked from the build but not
removed yet, in case something goes wrong.

OK mpi@, kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.148 08-Jan-2016 jcs

Move HID support files out of dev/usb into new dev/hid directory

These files aren't USB-specific and were used by the previous
Bluetooth implementation, and will be used by the upcoming
HID-over-i2C implementation

ok deraadt
previous version ok kettenis and mpi


Revision tags: OPENBSD_5_8_BASE
# 1.147 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.146 11-May-2015 ratchov

Remove all audio format conversion code from the kernel (btw holding
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi

ok armani@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.145 11-Jul-2014 tedu

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.


Revision tags: OPENBSD_5_5_BASE
# 1.144 04-Nov-2013 deraadt

remove iop(4) driver. it is entirely unmaintained and supports something
which basically doesn't exist at all.
reminded about it by brad


# 1.143 01-Nov-2013 miod

Drop zsaddr[NZS] and the need for zs to be needs-count. zsaddr[] is no longer
necessary now that each zs device registers its own interrupt handler, and
zshard() does not need to walk all zs chips, which has been the case for years.


# 1.142 15-Aug-2013 kettenis

Include files.agp and files.drm from files.pci. Makes sure "drm.h" gets
generated on all architectures that support pci, making alpha and loongson
compile again.

ok todd@, miod@ seemed to agree with the idea


# 1.141 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_4_BASE
# 1.140 21-Apr-2013 sebastia

Unify the zs tty driver.

Most of the hard work by mpi@, who provided the initial diff.
Fixes for sparc from myself. Tested on sgi and sparc myself.
Compiles and detects zstty on my powerbook, compile tested on
sparc64 by me. Real testing with zs device on sparc64 by miod@
who also gave a lot of help and feedback.

ok miod@, mpi@


Revision tags: OPENBSD_5_3_BASE
# 1.139 08-Dec-2012 kettenis

Make ldomd(8) to control the availability of virtual disks to guest domains.
This is done by opening the corresponding /dev/vdspN device file. The virtual
disk will remain available until that device is closed, which happens
automatically when ldomd(8) exits.


# 1.138 17-Oct-2012 kettenis

Rename hvctl(4) into vldcp(4) since this driver now handles other services
as well.


# 1.137 30-Aug-2012 deraadt

no md_root_setconf


Revision tags: OPENBSD_5_2_BASE
# 1.136 17-Mar-2012 kettenis

Add vldc(4) and hvctl(4).


Revision tags: OPENBSD_5_1_BASE
# 1.135 15-Nov-2011 deraadt

Simplify various parts of the puc(4) attachment code. Tested lightly
by krw and myself.


Revision tags: OPENBSD_5_0_BASE
# 1.134 06-Jul-2011 kettenis

Add MSI support to pyro(4). Tested on a v215 with the on-board mpi(4).


# 1.133 06-Jul-2011 kettenis

Split some generic MSI code out into its own file.


Revision tags: OPENBSD_4_9_BASE
# 1.132 14-Jan-2011 matthieu

creator needs firmload. ok miod@


# 1.131 06-Dec-2010 jasper

- use consistent 'include' rules without a full relative path.
tested on a GENERIC config from all arches.

ok deraadt@ miod@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.130 31-Dec-2009 kettenis

Add vds(4) and vdsp(4), implementing the vDisk server side protocol. This
makes it possible to run an OpenBSD guest domain on top of a virtiual disk
backed by a disk image on a filesystem on OpenBSD control or service domain.

Probably doesn't support running Solaris or Linux yet. Haven't tried those
yet because booting their installers in a guest domain is way too painful!


# 1.129 04-Oct-2009 deraadt

pull in wbsd conditionally; ok kettenis


# 1.128 03-Oct-2009 kettenis

Glue to attach the SD/MCC reader of the W83L519D found on some Tadpole
laptops.


# 1.127 19-Sep-2009 kettenis

Initial stab at a driver for LOMlite2 as found on the Sun Fire V100, Sun Fire
V120 and Sun Netra X1. For now this only provides a temperature sensor, but
more stuff will follow.


Revision tags: OPENBSD_4_6_BASE
# 1.126 05-Jul-2009 kettenis

radeonfb(4), an accelerated framebuffer for Sun XVR-100 boards (which have an
ATI Radeon 7000 chip on them). While there, make gfxp(4) depend on rasops32
just in case somebody removes other framebuffers that pull this in from their
kernel config.

ok deraadt@, miod@


# 1.125 03-Jun-2009 kettenis

Initial stab at a driver for the Tech Source Raptor GFX built around the
3D Labs Permedia 2v chip. These cards were sold by Sun as PGX32.


# 1.124 02-Jun-2009 kettenis

Initial stab at an accelerated driver for PGX/PGX64 framebuffers.
Inspiration from the NetBSD, Linux and X.org drivers.


# 1.123 20-May-2009 miod

Add code to attach sun mice on sparc and sparc64 as wsmouse devices. Since
not all Sun mice run at the canonical 1200 bps, hop between 1200, 4800 and
9600 bps by paying attention to breaks on the line.

Attachement and engine code written 7 years ago for OpenBSD/sparc, except for
sparc64 com(4) attachment. Speed hop idea borrowed from Opensolaris.

This allows sparc and sparc64 users to run X11 without needing a configuration
file anymore, as it was in the XFree86 3.x days. Multihead configurations
will still need a minimal configuration file, though.


# 1.122 16-May-2009 kettenis

Add vsw(4), a driver for the virtual network switch on sun4v. This is just
some simple glue to attach each port as a network interface.


# 1.121 10-May-2009 kettenis

Add vcc(4) and vcctty(4). The vcc(4) driver is a driver for the "Virtual
Console Concentrator" found on the control domain of sun4v systems. It
manages the connections to the consoles of guest domains which are exposed
as terminal-like devices through vcctty(4).


# 1.120 12-Apr-2009 kettenis

Move code handling Machine Descriptions out of the cbus(4) driver.


# 1.119 09-Mar-2009 kettenis

Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but without
acceleration it is a tad bit slow, so leave this disabled for now.


# 1.118 01-Mar-2009 kettenis

An accelerated framebuffer driver for the Tech Source Raptor GFX cards built
around the Number 0 Imagine-128 chip. Colormap support is still missing.


Revision tags: OPENBSD_4_5_BASE
# 1.117 12-Jan-2009 kettenis

Initial stab at a driver for virtual disks found on sun4v logical domains.
Still needs some work, but reading from and writing to a disk image works.


# 1.116 10-Jan-2009 kettenis

Tweak the way we include the iommu code a bit.


# 1.115 10-Jan-2009 kettenis

Split off LDC support code into its own file.


# 1.114 04-Jan-2009 kettenis

Initial stab at a driver for virtual network devices found on sun4v logical
domains. Still needs a lot of work, but good enough for an nfs root.


# 1.113 30-Dec-2008 kettenis

Add cbus(4), a virtual bus for devices that use logical domain channels as
found on sun4v systems with multiple domains configured.


# 1.112 29-Dec-2008 miod

Move ifb identification to its own routine. We can not simply have the ifb
probe win over vgafb, since one may configure a kernel with vgafb but without
ifb (especially slackers who forget to rerun config).


# 1.111 13-Aug-2008 kettenis

Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.


Revision tags: OPENBSD_4_4_BASE
# 1.110 11-Jul-2008 kettenis

Fujitsu SPARC64-VI CPU's have two cores that have two threads each. Provide
a core(4) device, representing these cores and attach cpu(4) devices to it
for each thread.


# 1.109 07-Jul-2008 kettenis

Extend sbbc(4) to provide a console driver for the v1280.


# 1.108 06-Jul-2008 kettenis

Add ssm(4), a driver for the scalable shared memory device found on
Serengeti and Starcat systems.


# 1.107 06-Jul-2008 kettenis

Add sbbc(4), a driver for the BootBus controller on Serengeti and StarCat
systems that provides time of day services and (in the future) console
services.


# 1.106 10-Jun-2008 kettenis

Add cmp(4), a dummy driver to make attaching CMT cpus easier.


# 1.105 21-Apr-2008 deraadt

Work in progress at supporting the Mentor Graphics i2c core found in
the Fire pcie hostbridge. Fairly horrid device to deal with.


# 1.104 23-Mar-2008 miod

Not-functional-enough driver for the Sun Expert3D cards, put in tree as an
incentive for further tinkering only; not for the faint of heart.


# 1.103 16-Mar-2008 kettenis

Add some e10k support code.


# 1.102 13-Mar-2008 kettenis

Add prtc(4).


# 1.101 09-Mar-2008 kettenis

Add files for vpci(4).


# 1.100 09-Mar-2008 kettenis

The IOMMU code is needed for schizo(4) and pyro(4) too.


# 1.99 09-Mar-2008 kettenis

Add hvcall.S if option SUN4V is defined.


# 1.98 08-Mar-2008 kettenis

Add vcons(4).


# 1.97 08-Mar-2008 kettenis

Add vrtc(4).


# 1.96 08-Mar-2008 kettenis

Add vbus(4).


Revision tags: OPENBSD_4_3_BASE
# 1.95 20-Feb-2008 robert

make tda(4) run the fans at maximum speed when we are about to drop
drop to ddb(4) in order to avoid overheating in case of a system crash.

ok kettenis@


# 1.94 12-Feb-2008 robert

tda(4) is a driver for Philips TDA8444 which can be found in
Sun Blade 1000/1500/2000/2500 machines.
The driver controlls the speed of the ambient and cpu fans,
based on the temperatures.
not included in GENERIC yet; help and ok kettenis@


# 1.93 18-Jan-2008 kettenis

Add environ(4).


# 1.92 27-Nov-2007 kettenis

Like i386 and amd64 - make the __mp_lock not spin at splhigh.

help from & ok art@


# 1.91 20-Oct-2007 kettenis

Add support for the temperature sensors on the SUNW,envctrltwo device found
on the Sun Enterprise 250. This device (and SUNW,envctrl found on the
Enterprise 450) is a PCF8584 I2C controller with several generic I2C chips
attached to it.

ok deraadt@


# 1.90 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


# 1.89 10-Sep-2007 kettenis

IPI implementation. Bits and pieces from NetBSD, but the interface has been
changed to free up another 64-bit word in the interrupt transaction. This
means we have two 64-bit words available for arguments, which means we
probably don't need to pass arguments through structures.


# 1.88 25-Aug-2007 kettenis

Real mutexes for sparc64. Some comments from henric@ and claudio@.
Tested by fkr@, claudio@, nick@.


# 1.87 21-Aug-2007 kettenis

Remove two out-of-date comments.


Revision tags: OPENBSD_4_2_BASE
# 1.86 04-Aug-2007 kettenis

rbus for sparc64

ok deraadt@


# 1.85 08-Jun-2007 jasper

include files.bluetooth, so that bluetooth support can be compiled,
if enabled.

ok gwk@


# 1.84 29-May-2007 kettenis

Add led(4).


# 1.83 28-May-2007 beck

Maintaining a broken compatibility layer for a broken OS is not a productive
activity for anyone. Bye bye COMPAT_NETBSD. ok tedu@, deraadt@, and many others
in the hackathon room.


# 1.82 10-Apr-2007 kettenis

Driver for the BootBus Controller; sets some magic bits that makes pmc(4)
actually work.


# 1.81 10-Apr-2007 kettenis

New driver for watchdog time on NatSemi PC87317 SuperIO chip.


# 1.80 09-Apr-2007 kettenis

Seperate rtc(4) code out into its own file. Add support for catching the
power button interrupts on ds1287 models. The hardware will stil power off
automatically about 20 seconds after the power button is pressed, but we get
a decent chance at doing a clean shutdown before that.

"a good start" deraadt@


# 1.79 04-Apr-2007 kettenis

Add support for ebus at mainbus, as found on machines with pyro(4) like the
v215.


# 1.78 30-Mar-2007 kettenis

First stab at a driver for the Host/PCIe bridge found on the Sun Fire
v215/v245/v445 systems.


Revision tags: OPENBSD_4_1_BASE
# 1.77 07-Mar-2007 miod

For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can be
used for input, and prom for output.

This is a band-aid for the release, so that people with such frame buffers
do not need to unplug them or switch to serial console to install OpenBSD.

Probably not the best way to do this, but this one has a minimal footprint
and no tentacles in wscons.

ok deraadt@


# 1.76 03-Feb-2007 miod

Simple single-processor mutex implementation, simpler than the MI code by
use of MD spl code bowels. No functional change.


# 1.75 09-Dec-2006 miod

Do not make sun terminal emulation selected by the wsemul_sun frame buffer
attribute anymore; remove it and use option WSEMUL_SUN instead, which gets
added to all sparc* kernels.

While there, do not compile vt100 emulation on sparc* kernels, this saves 16+
KB of text.

ok deraadt@


# 1.74 02-Dec-2006 miod

On frame buffers which endianness differs from the host CPU, we can not afford
using ovbcopy() in the erasecols emulop, as the ovbcopy implementation might
do larger-than-byte loads and store, which will not have the expected result
if the source and destination addresses are not similarly aligned.

Instead, roll our own byte-only ovbcopy() in this case. This is made dependent
on a config(8) attribute to avoid bloating platforms which do not need this,
thus frame buffers which may set RI_BSWAP in ri_flg need to depend on this
attribute.

Problem spotted by matthieu@ using tcsh on sparc64 console.


# 1.73 27-Sep-2006 grange

Add files.onewire to all our USB archs, it will be used soon.


Revision tags: OPENBSD_4_0_BASE
# 1.72 27-Jun-2006 deraadt

pull in files.gpio in case we want it


# 1.71 19-Jun-2006 deraadt

move clock_subr.c to a better place, and now it is always in the kernel
so that things can use it; tested on all architectures; ok kettenis


# 1.70 16-Jun-2006 jason

skeleton driver for power button on u5.. does precisely nothing except attach.
Will hook it into the right places this weekend (and put it into GENERIC
and write a man page when it does something useful).


# 1.69 02-Jun-2006 jason

ppm driver. We don't use it for much... except to blink the power switch led. woot!


# 1.68 28-May-2006 jason

placeholder driver for the bbc,beep device. should be straightforward
to fill in later.


# 1.67 15-May-2006 miod

Merge creator attachment code again, it turns out the upa/mainbus attachment
code split is not necessary after all; ok jason@


# 1.66 04-Mar-2006 miod

creator needs rasops32 only, and vgafb never needs rasops24.


Revision tags: OPENBSD_3_9_BASE
# 1.65 10-Feb-2006 djm

driver for Philips PCF8591 I2C ADC sensor. Because of the mindlessness
of this chip, it is impossible to probe for and we need to be told where
it is and how to understand its output. We get this information from
openfirmware, but this restricts the use of the driver to sparc64 for now.
Only sensors that OFW identifies as temperature sensors are supported at
present.

prodded by dlg@ "get it in" deraadt@


# 1.64 01-Feb-2006 dlg

a driver for the phillips pcf8584 i2c controller as found on the sun netra
t1 105.

tested by henning@ djm@
ok kettenis@ put it in deraadt@


# 1.63 02-Jan-2006 deraadt

do i2c initialization using ofw data instead of scanning; ok kettenis
this may require some changes for non-pmu controllers later, which may
do the ofw tables slightly differently


# 1.62 27-Dec-2005 deraadt

enable some i2c bus drivers (piixpm(4), alipm(4), ichiic(4)) as needed
by each arch
enable adc(4), admtemp(4), admlc(4), admtm(4), admtmp(4), admtt(4),
adt(4), lm(4), lmenv(4), lmtemp(4), maxds(4), and maxtmp(4) iic chip
drivers too, which provide gobs of sensor info


Revision tags: OPENBSD_3_8_BASE
# 1.61 01-Aug-2005 david

spacing; ok deraadt@


# 1.60 02-May-2005 brad

sparc64 optimized in4_cksum().

From NetBSD


# 1.59 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.58 09-Mar-2005 miod

Preliminary support for the floppy drive on Ultrasparcs. Only tested on
SBus machines so far, although EBus attachment glue is provided but not enabled
by default.

Also, fdformat(8) does not work correctly yet, although reading and writing
is safe; this will hopefully be fixed in the near future.

ok deraadt@


# 1.57 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


# 1.56 05-Mar-2005 miod

Preliminary xbox support: attaches, memory mapping and interrupts work, but
DMA transfers are not implemented yet, and are disabled (which causes drivers
to SBus cards on the xbox to fail to attach).

In practice, this allows frame buffers to work, maybe more devices; DMA
support will be worked on in the near future.


# 1.55 08-Oct-2004 grange

Move dev/cons.c to MI conf/files.

ok miod@


# 1.54 01-Oct-2004 jason

add a blink_led API (shaves ~1k from GENERIC) rather than have the same
logic in 3 files. Devices register a function to be called to turn the
led on and off based on load average. (Note: rerun config and make depend)


# 1.53 28-Sep-2004 jason

driver for "clock-board" (mainly blinky lights, but also has information about the chassis)


# 1.52 27-Sep-2004 jason

Important stuff: blinky lights for fhc


# 1.51 23-Sep-2004 jason

prepare the way for multi-bus attachment of zs (specifically zs@fhc).
Remove the zs@mainbus stuff from files.sparc64 (nothing uses it)
don't forget to rerun config...


# 1.50 22-Sep-2004 jason

infrastructure for central, fhc(mainbus/central), and clock@fhc


# 1.49 16-Sep-2004 mickey

cleanup deafult locators (blah ?); please check that your most hated architecture is still fluffy (;


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.48 04-Dec-2003 miod

creator needs wsemul_sun attribute.


Revision tags: OPENBSD_3_4_BASE
# 1.47 15-Jul-2003 jason

include the puc stuff (currently commented out in GENERIC)


# 1.46 23-Jun-2003 miod

Split the stp driver into its core, and md attachment routines, and provide
attachment routines for sparc and sparc64.


# 1.45 16-Jun-2003 miod

Provide the same fbxxx() api as on sparc, in order to factorize more code
and eventually share some drivers.
This also brings us screen unblanking upon entering ddb, which can be really
useful at times...


Revision tags: UBC_SYNC_A
# 1.44 06-May-2003 miod

Declare the major number for wd, so that a custom kernel can specific explicit
root on wd0a.

Problem spotted by Denis A. Doroshenko.


Revision tags: OPENBSD_3_3_BASE
# 1.43 17-Feb-2003 henric

Add support for the Sun Enterprise 450
Reduce the size of a GENERIC kernel by ~190k
Remove the nasty pointer/bus_space_handle_t casts
Adds debug bus_space code including the ability to trace
bus operations (it actually works now).

The following rules are now followed (and verfified by the debug
code):

1. A "bus_space_handle_t" may only be used with the
"bus_space_tag_t" that created it.
2. Only "bus_space_map()" may create "bus_space_handle_t"s.
3. A "bus_space_handle_t" may not be modified after it has
been created (other than being destroyed by "bus_space_unmap()").


Thanks to help from mcbride, marc, jason, drahn, to anyone that might
have slipped my mind at the moment.

ok jason@, deraadt@


# 1.42 14-Jan-2003 jason

Move sunkbd defn to common place and remove old event.c reference


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.41 12-Jul-2002 miod

No need to include files.sun, which only add the "frim event" stuff which
has absolutely no use on wscons architectures.


# 1.40 20-Jun-2002 jason

left over sparc-ism's; Matt Potter <matt@vertrauen.org>


# 1.39 19-Jun-2002 fgsch

more sbus->pcmcia pieces.


# 1.38 11-Jun-2002 jason

add upa and creator at upa
(neither of which work correctly, but hey, it's a starting point)


# 1.37 11-Jun-2002 fgsch

split creator driver into bus specific and common code.
requested and ok by jason@


# 1.36 08-Jun-2002 jason

Initial (not quite fully working) driver for the schizo on the blade1000


# 1.35 04-Jun-2002 jason

Convert vgafb from rcons to rasops
If depth is 24, select rasops32 (and make sure the stride is right)


# 1.34 03-Jun-2002 fgsch

add rasops24 to creator. minor indentation while i'm here.


# 1.33 21-May-2002 jason

Skeleton driver for the Creator/Creator3D framebuffer (doesn't do much
except provide an entry point for mmap'n from userland so I can figure out
how it works). Many thanks to Matt Potter <matt@vertrauen.org> for providing
a card.


Revision tags: OPENBSD_3_1_BASE
# 1.32 04-Apr-2002 jason

Some PCI machines do not implement the uperf registers. Those that do
provide an 'sc at ebus'. Use that instead of a direct attachment of
uperf to psycho.


# 1.31 14-Mar-2002 jason

From NetBSD: driver for lpt at ebus


# 1.30 18-Feb-2002 jason

Pull in dev/pckbc/files.pckbc, and put in placeholder for pckbc at ebus
(driver coming later today, hopefully)


# 1.29 01-Feb-2002 jason

Clean up auxio a bit and add machdep.led_blink sysctl (like sparc),
portions from NetBSD.


# 1.28 30-Jan-2002 jason

Driver for getting at performance counters. These manifest them
selves as "sc at sbus" and a couple of registers on psycho (sabre
doesn't appear to have these registers).


# 1.27 25-Jan-2002 jason

move the scancode -> wskbd event map into a seperate file... more still
to move, though.


# 1.26 24-Jan-2002 jason

Add a driver for keyboards on com (ns16550 clones) as found on the AXi, etc.
Also, add the necessary config goop
Finally, enable com* at ebus?, comkbd* at ebus?, and vgafb* at pci?


# 1.25 24-Jan-2002 jason

Remove the ms (mainly at zs) stuff


# 1.24 15-Jan-2002 jason

allow zskbd* at zs?


# 1.23 03-Jan-2002 jason

define a new wsemul_sun attribute and add it to the sparc64 framebuffers
[This needs to be extended to the vt100 and dumb emulations too.. in time].
(This allows the removal of WSEMUL_SUN from sparc64/conf/GENERIC)


Revision tags: UBC_BASE
# 1.22 14-Dec-2001 jason

branches: 1.22.2;
Driver for vga framebuffers on sparc64 based on cgsix (which is based on
cgsix from sparc and vgafb from macppc).


# 1.21 07-Dec-2001 jason

rtc at ebus; netbsd


# 1.20 04-Dec-2001 jason

add stuff for wsdisplay


# 1.19 28-Oct-2001 jason

branches: 1.19.2;
oops, don't forget sab entries here too.


Revision tags: OPENBSD_3_0_BASE
# 1.18 05-Oct-2001 jason

pull in the usb stuff (doesn't quite work yet, though)


# 1.17 01-Oct-2001 jason

+audioce


# 1.16 29-Sep-2001 jason

from the "Ok, so I couldn't sleep" department: minimal driver for the beeper at ebus device


# 1.15 18-Sep-2001 jason

bring sparc64 OUT of the stone age... MAXPARTITIONS 16


# 1.14 08-Sep-2001 jason

Import netbsd's fpu handling (modified to be separate from sparc); this is
for paranoia's sake (don't want to break sparc32 while hacking on it).
Real work by art.


# 1.13 06-Sep-2001 art

COMPAT_NETBSD and glue for com at ebus


# 1.12 23-Aug-2001 art

glue for atapi and ata


# 1.11 22-Aug-2001 jason

add hme at pci attachment (yes, this doesn't really belong here).


# 1.10 22-Aug-2001 art

clock at ebus, auxio at ebus, PCIVERBOSE


# 1.9 22-Aug-2001 art

first steps toward pci


# 1.8 21-Aug-2001 jason

zs and all it's associated stuff (all from NetBSD).. Works on my ultra1,
but still needs tweaks (wedging this into OpenBSD is worse than square
peg in round hole).


# 1.7 21-Aug-2001 jason

put bus independent part of hme in here so we don't conflict with the sparc
driver (this is wrong and will need to be fixed eventually)


# 1.6 20-Aug-2001 jason

add qec+be (testing consisted of compiling... I've merely proven it syntactically correct).
GENERIC now depends on mii goop (be internal phy)


# 1.5 20-Aug-2001 jason

$OpenBSD$


# 1.4 19-Aug-2001 art

scsi, no devices yet.


# 1.3 19-Aug-2001 art

No need for procfs_machdep


# 1.2 19-Aug-2001 jason

remove ddb stuff, in4_cksum.c inet dependency, and include sbus stuff


# 1.1 18-Aug-2001 art

A very minimal skeleton. Based on code in NetBSD and sparc.