Home | History | Annotate | Download | only in conf
History log of /src/sys/arch/sparc64/conf/files.sparc64
RevisionDateAuthorComments
 1.168  04-Oct-2025  thorpej Don't use the common OpenFirmware PCI-device-to-devhandle mapping
routine. We've gone through the trouble of encoding the PROM node
into the pcitag_t, and using that ensures we're consistent with
any PROM data quirks.
 1.167  01-Sep-2025  thorpej Put the pcfiic driver declaration in the global location, and adapt
the sparc64 instance to be a proper separate attachment.
 1.166  12-May-2021  thorpej - Define a device call for PCI bus instances to fetch a direct child's
device handle given the device's device/function #s (extracted from
a pcitag_t). Use it to associate the handle with the child device
at config_found() time.
- Implement this device call for ACPI and OpenFirmware.
- Enable the OpenFirmware variant for evbarm FDT, macppc, ofppc, sparc64.
- Obsolete acpi_device_register(); it is no longer needed.
- Obsolete setting the OpenFirmware handle in PCI devices in the
sparc64 device_register(); it is no longer needed.
 1.165  25-Apr-2021  thorpej branches: 1.165.2; 1.165.4;
PCI busses do not attach to "ebus", therefore there is no need for
it to carry the "pcibus" interface attribute.

Fixes kern/56124.
 1.164  04-Mar-2021  palle sun4v: add vnet driver from openbsd - compiles but probably does not work yet - still WIP
 1.163  21-Oct-2020  christos branches: 1.163.2;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.
 1.162  20-Oct-2020  christos harmonize process_machdep.c inclusion.
 1.161  16-Oct-2020  jdc Move OFW patching routines into their own file.
 1.160  11-Oct-2020  jdc Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.
 1.159  11-May-2020  jdc Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.
 1.158  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.157  19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.156  20-Oct-2018  macallan support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.
 1.155  13-Oct-2018  macallan config and attachment goop for tadpmu
 1.154  19-Dec-2017  nakayama branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.
 1.153  06-Jul-2017  martin Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.
 1.152  19-Aug-2016  palle sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works
 1.151  22-Jun-2016  palle sun4v: add cbus driver - from OpenBSD
 1.150  17-Jun-2016  palle sun4v: vbus and vrtc drivers - from OpenBSD
 1.149  06-Oct-2015  martin Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.
 1.148  15-Feb-2015  nakayama Fix up sysmon_* dependencies.
 1.147  12-Feb-2015  palle sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.
 1.146  10-Jan-2015  palle sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD
 1.145  01-Feb-2014  nakayama branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.
 1.144  28-Dec-2013  nakayama Add SUN4V to opt_sparc_arch.h.
 1.143  16-Dec-2013  palle Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@
 1.142  27-Aug-2013  macallan psycho needs-flag now
while there, ffb doesn't need rasops8
 1.141  17-Mar-2013  christos branches: 1.141.6;
no more duplicate copy of the memcpy code.
 1.140  14-Mar-2013  nakayama Use elf32 version module object relocator on sparc64 32-bit kernel.
 1.139  13-Oct-2012  jdc Add pckbc at ebus.
 1.138  03-Mar-2012  nakayama branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.137  18-Feb-2012  christos Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.
 1.136  04-Oct-2011  nakayama branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.
 1.135  01-Aug-2011  mrg fix the zx@fhc attachment.
 1.134  29-Jul-2011  mrg port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)
 1.133  12-Jun-2011  rmind Welcome to 5.99.53! Merge rmind-uvmplock branch:

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

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

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

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

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

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.132  06-Jun-2011  mrg sort
 1.131  06-Jun-2011  mrg re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

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


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)
 1.130  09-Apr-2011  jdc branches: 1.130.2;
Add EDID and video mode setting support to FFB.

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

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

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.
 1.129  20-Mar-2011  mrg add pci@pryo@mainbus and ebus@mainbus support.
 1.128  21-Sep-2010  macallan branches: 1.128.2;
defflag some flags for the ffb driver
 1.127  06-Mar-2010  mrg branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.
 1.126  02-Mar-2010  nakayama Make kernel buildable without device ecadc.
 1.125  28-Feb-2010  martin Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.
 1.124  22-Feb-2010  mrg move {dump,print}_[id]tlb() into a separate file.
 1.123  12-Jan-2010  martin branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.
 1.122  29-Dec-2009  macallan add gfb at mainbus
 1.121  02-Oct-2009  nakayama Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.
 1.120  10-Dec-2008  mrg checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues
 1.119  19-Nov-2008  ad Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.118  20-Feb-2008  drochner branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.117  03-Feb-2008  martin Adjust assembler in_cksum code to new signature and re-enable it.
 1.116  25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.115  06-Jan-2008  ad Add MODULAR option. Include kernel linker stuff if MODULAR.
 1.114  19-Nov-2007  macallan branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines
 1.113  17-Oct-2007  garbled branches: 1.113.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.112  13-Aug-2007  macallan branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus
 1.111  07-Jul-2007  tsutsui branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.
 1.110  14-Apr-2007  tnn branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>
 1.109  10-Apr-2007  macallan include files.wsfb
 1.108  09-Feb-2007  ad branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.
 1.107  09-Nov-2006  tsutsui branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.
 1.106  10-Oct-2006  tsutsui Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.
 1.105  09-Oct-2006  mrg avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.
 1.104  06-Oct-2006  jnemeth Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary
 1.103  14-Sep-2006  martin branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.
 1.102  10-Sep-2006  plunky add bluetooth support to sparc64, built by default in GENERIC
 1.101  10-Jul-2006  gdamore branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.
 1.100  07-Jun-2006  kardel branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)
 1.99  04-Apr-2006  gdamore branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
 1.98  02-Mar-2006  martin branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.
 1.97  11-Dec-2005  christos branches: 1.97.4; 1.97.6;
merge ktrace-lwp.
 1.96  10-Jul-2005  christos Re-factor syscall, and make it use syscall_{plain,fancy}.
 1.95  14-Sep-2004  jdolecek branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed
 1.94  13-Sep-2004  drochner nothing attaches to a "sabtty", so there is no need for an
interface attribute
 1.93  22-Mar-2004  martin Realy disable optimization for 32bit kernels when compiling uvm_bio.c.
 1.92  21-Mar-2004  pk Reach over to the sparc openfirm & openprom implementation.
 1.91  21-Mar-2004  pk Add sparc/sparc/promlib.c.
 1.90  14-Mar-2004  chs checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.
 1.89  10-Feb-2004  jdolecek whitespace police
 1.88  20-Jan-2004  jdolecek cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
is included there too; dev/ic/lpt.c is not included if ppbus is
configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
glue moved to conf/files and dev/pci/files.pci respectively; remove
device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
glue
 1.87  15-Nov-2003  bouyer Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).
 1.86  02-Nov-2003  he Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.
 1.85  01-Nov-2003  tsutsui - Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

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

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.
 1.84  31-Oct-2003  petrov Don't attach zs at mainbus.
 1.83  26-Oct-2003  christos Add compat_16_machdep.c
 1.82  19-Sep-2003  martin Remove workarounds for bugs in the old compiler.
 1.81  27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.80  17-Jul-2003  petrov Driver for CP1500/1400 watchdog timer.
 1.79  16-Jun-2003  heas branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@
 1.78  23-May-2003  petrov ffb added.
 1.77  18-May-2003  martin Remove reference to non-existing file
 1.76  21-Apr-2003  martin Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)
 1.75  22-Mar-2003  nakayama PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.
 1.74  05-Feb-2003  nakayama Switch to use cycle counter (%tick) based microtime().

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

This should fix PR port-sparc64/18452.
(approved by martin)
 1.73  06-Jan-2003  wiz compatibility, not compatiblity.
 1.72  08-Dec-2002  martin Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.
 1.71  27-Oct-2002  martin Oops, forgot to commit this: include files.wscons instead of files.rcons.
 1.70  26-Oct-2002  jdolecek now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.69  15-Oct-2002  thorpej The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.
 1.68  03-Oct-2002  uwe Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

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

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).
 1.67  29-Sep-2002  chs remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.
 1.66  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.65  16-Aug-2002  petrov Enable sab.
 1.64  16-May-2002  thorpej branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.63  06-May-2002  eeh Add a flag for ofpci to let psycho chose between pci and ofpci.
 1.62  06-May-2002  eeh Add ofpci and ofppb.
 1.61  05-May-2002  martin Add PCMCIA support (for nell at sbus and pci cardbus bridges)
 1.60  16-Apr-2002  thorpej * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.
 1.59  12-Mar-2002  uwe Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

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

Ok by pk, eeh.
 1.58  21-Jan-2002  jdolecek branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
 1.57  04-Dec-2001  lukem s/defopt/defflag/
 1.56  04-Dec-2001  darrenr defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.
 1.55  20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.54  20-Nov-2001  lukem whitespace cleanup
 1.53  25-Oct-2001  eeh branches: 1.53.2;
Fix bugs in previous.
 1.52  25-Oct-2001  eeh _LP64 -> EXEC_ELF64
 1.51  02-Sep-2001  eeh branches: 1.51.4;
Get rid of all simba references.
 1.50  10-Aug-2001  eeh Use the new in4_cksum.
 1.49  08-Aug-2001  eeh Use the new version of in_cksum.
 1.48  08-Jun-2001  simonb branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
 1.47  06-Jun-2001  mrg extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.
 1.46  13-Apr-2001  matt Include USB and 1394 support (sun models now have them).
 1.45  11-Feb-2001  eeh branches: 1.45.2;
Add support for COMPAT_SVR4_32.
 1.44  05-Feb-2001  mrg use sunos32_machdep.c on 64 bit kernels.
 1.43  02-Feb-2001  mrg include compat/sunos32/sunos32.files
 1.42  17-Jan-2001  fvdl Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
 1.41  10-Nov-2000  eeh Clean up config and fix things so kbd.h is generated even w/no keyboard.
 1.40  09-Nov-2000  eeh Switch to sunkbd for both com and zstty.
 1.39  08-Nov-2000  ad Pull in dev/i2o/files.i2o.
 1.38  21-Sep-2000  eeh Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.
 1.37  23-Aug-2000  pk Use common fb.c from sys/dev/sun.
 1.36  22-Aug-2000  pk These devices will never be found on sun4u machines.
 1.35  22-Aug-2000  pk Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}
 1.34  26-Jul-2000  pk Use the mk48txx driver for time-of-day clock access.
 1.33  18-Jun-2000  mrg branches: 1.33.2;
duplicate "file" should only include "compile-with"
 1.32  18-Jun-2000  mrg use arch/sparc/fpu
 1.31  09-Jun-2000  eeh Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.
 1.30  08-Jun-2000  eeh Override optimization for files that break gcc.
 1.29  19-May-2000  eeh branches: 1.29.2;
Fix the sparc64 console.

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

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

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.
 1.28  22-Apr-2000  mrg whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.
 1.27  15-Apr-2000  mrg - auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed
 1.26  05-Apr-2000  mrg attach auxio at ebus
 1.25  14-Mar-2000  oster Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
 1.24  14-Feb-2000  thorpej Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
 1.23  07-Jun-1999  thorpej branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.
 1.22  05-Jun-1999  eeh Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.
 1.21  05-Jun-1999  mrg fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.
 1.20  05-Jun-1999  mrg use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.
 1.19  23-May-1999  eeh Start putting in hooks for non-zs console devices.
 1.18  14-May-1999  mrg split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.
 1.17  17-Apr-1999  kleink Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.
 1.16  13-Apr-1999  ad Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.
 1.15  25-Mar-1999  mrg branches: 1.15.4;
move sparc32 MD bits here.
 1.14  12-Feb-1999  mrg include dev/mii/files.mii
 1.13  17-Sep-1998  thorpej Make the signal code look a bit more like the 32-bit SPARC port's.
 1.12  05-Sep-1998  pk Define a few major devices.
Remove `dma' and `esp' definitions.
 1.11  05-Sep-1998  pk Remove unused devices.
 1.10  02-Sep-1998  eeh Periodic update: now starts probing devices.
 1.9  27-Aug-1998  mrg oops, remove old isp attachment here..
 1.8  26-Aug-1998  mrg - use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.
 1.7  28-Jul-1998  eeh Fixup problems caused by sys/dev/sbus addition.
 1.6  27-Jul-1998  pk Use <dev/sbus/files.sbus>
 1.5  27-Jul-1998  mrg move to sys/dev/sbus for lebuffer driver (old path never existed anyway)
 1.4  21-Jul-1998  drochner adapt to LANCE driver split
 1.3  15-Jul-1998  thorpej Remove the raw HYPERchannel kludge.
 1.2  07-Jul-1998  eeh General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)
 1.1  20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1  20-Jun-1998  eeh Import of sparc64.
 1.15.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.23.2.5  21-Apr-2001  bouyer Sync with HEAD
 1.23.2.4  11-Feb-2001  bouyer Sync with HEAD.
 1.23.2.3  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.23.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.23.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.29.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.33.2.1  25-Oct-2001  he Apply patch (requested by ad):
Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
 1.45.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.48.2.8  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.48.2.7  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.48.2.6  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.48.2.5  16-Mar-2002  jdolecek Catch up with -current.
 1.48.2.4  11-Feb-2002  jdolecek Sync w/ -current.
 1.48.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.48.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.48.2.1  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.51.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.53.2.11  07-Jan-2003  thorpej Sync with HEAD.
 1.53.2.10  11-Dec-2002  thorpej Sync with HEAD.
 1.53.2.9  11-Nov-2002  nathanw Catch up to -current
 1.53.2.8  18-Oct-2002  nathanw Catch up to -current.
 1.53.2.7  17-Sep-2002  nathanw Catch up to -current.
 1.53.2.6  27-Aug-2002  nathanw Catch up to -current.
 1.53.2.5  20-Jun-2002  nathanw Catch up to -current.
 1.53.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.53.2.3  28-Feb-2002  nathanw Catch up to -current.
 1.53.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.53.2.1  25-Oct-2001  nathanw file files.sparc64 was added on branch nathanw_sa on 2002-01-08 00:27:58 +0000
 1.58.4.1  19-Mar-2002  thorpej First draft of mutex and rwlock implementation for sparc64.
 1.64.4.1  24-Jun-2003  grant Pull up revision 1.74 (requested by nakayama in ticket #1329):

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

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.
 1.64.2.4  31-Aug-2002  gehenna catch up with -current.
 1.64.2.3  17-May-2002  gehenna Remove old block majors list.
 1.64.2.2  16-May-2002  gehenna Include the list of block/character major numbers.
 1.64.2.1  16-May-2002  gehenna file files.sparc64 was added on branch gehenna-devsw on 2002-05-16 13:32:50 +0000
 1.79.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.79.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.79.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.79.2.1  03-Aug-2004  skrll Sync with HEAD
 1.95.12.8  27-Feb-2008  yamt sync with head.
 1.95.12.7  04-Feb-2008  yamt sync with head.
 1.95.12.6  21-Jan-2008  yamt sync with head
 1.95.12.5  07-Dec-2007  yamt sync with head
 1.95.12.4  03-Sep-2007  yamt sync with head.
 1.95.12.3  26-Feb-2007  yamt sync with head.
 1.95.12.2  30-Dec-2006  yamt sync with head.
 1.95.12.1  21-Jun-2006  yamt sync with head.
 1.97.6.2  02-Jun-2006  kardel - support timecounters
 1.97.6.1  22-Apr-2006  simonb Sync with head.
 1.97.4.1  09-Sep-2006  rpaulo sync with head
 1.98.6.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.98.4.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.98.2.4  14-Sep-2006  yamt sync with head.
 1.98.2.3  11-Aug-2006  yamt sync with head
 1.98.2.2  26-Jun-2006  yamt sync with head.
 1.98.2.1  11-Apr-2006  yamt sync with head
 1.99.2.1  19-Jun-2006  chap Sync with head.
 1.100.2.1  13-Jul-2006  gdamore Merge from HEAD.
 1.101.4.2  29-Dec-2006  ad Checkpoint work in progress.
 1.101.4.1  18-Nov-2006  ad Sync with head.
 1.103.2.2  10-Dec-2006  yamt sync with head.
 1.103.2.1  22-Oct-2006  yamt sync with head
 1.107.8.1  17-Mar-2012  bouyer Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.107.2.1  17-Mar-2012  bouyer Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.108.8.1  11-Jul-2007  mjf Sync with head.
 1.108.6.5  03-Dec-2007  ad Sync with HEAD.
 1.108.6.4  20-Aug-2007  ad Sync with HEAD.
 1.108.6.3  15-Jul-2007  ad Sync with head.
 1.108.6.2  27-May-2007  ad Sync with head.
 1.108.6.1  10-Apr-2007  ad Sync with head.
 1.108.2.1  15-Apr-2007  yamt sync with head.
 1.110.2.1  03-Oct-2007  garbled Sync with HEAD
 1.111.8.2  21-Nov-2007  joerg Sync with HEAD.
 1.111.8.1  16-Aug-2007  jmcneill Sync with HEAD.
 1.111.4.1  15-Aug-2007  skrll Sync with HEAD.
 1.112.6.1  21-Nov-2007  bouyer Sync with HEAD
 1.112.2.3  23-Mar-2008  matt sync with HEAD
 1.112.2.2  09-Jan-2008  matt sync with HEAD
 1.112.2.1  06-Nov-2007  matt sync with HEAD
 1.113.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.113.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.114.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.118.24.1  21-Apr-2010  matt sync to netbsd-5
 1.118.22.1  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.118.20.2  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.118.20.1  16-Oct-2009  sborrill branches: 1.118.20.1.2;
Pull up the following revisions(s) (requested by nakayama in ticket #1064):
distrib/sets/lists/man/mi: revision 1.1161
share/man/man4/man4.sparc64/Makefile: revision 1.5
share/man/man4/man4.sparc64/lom.4: revision 1.1-1.2
sys/arch/sparc64/conf/GENERIC: revision 1.111
sys/arch/sparc64/conf/files.sparc64: revision 1.121
sys/arch/sparc64/dev/lom.c: revision 1.1
sys/dev/DEVNAMES: revision 1.252

Add a driver for LOMlite lights out management hardware monitor and watchdog
timer.
 1.118.20.1.2.1  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.118.18.1  19-Jan-2009  skrll Sync with HEAD.
 1.118.16.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.118.10.3  09-Oct-2010  yamt sync with head
 1.118.10.2  11-Mar-2010  yamt sync with head
 1.118.10.1  04-May-2009  yamt sync with head.
 1.118.6.1  17-Jan-2009  mjf Sync with HEAD.
 1.123.2.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.123.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.127.2.4  12-Jun-2011  rmind sync with head
 1.127.2.3  21-Apr-2011  rmind sync with head
 1.127.2.2  05-Mar-2011  rmind sync with head
 1.127.2.1  18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.128.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.130.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.136.8.1  05-Mar-2012  sborrill Pull up the following revisions(s) (requested by nakayama in ticket #85):
sys/arch/sparc64/sparc64/locore.s: revision 1.340
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
sys/arch/sparc64/conf/files.sparc64: revision 1.138

Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
 1.136.6.4  06-Mar-2012  mrg sync to -current
 1.136.6.3  06-Mar-2012  mrg sync to -current
 1.136.6.2  04-Mar-2012  mrg sync to latest -current.
 1.136.6.1  24-Feb-2012  mrg sync to -current.
 1.136.2.3  22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.136.2.2  30-Oct-2012  yamt sync with head
 1.136.2.1  17-Apr-2012  yamt sync with head
 1.138.2.4  03-Dec-2017  jdolecek update from HEAD
 1.138.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.138.2.2  23-Jun-2013  tls resync from head
 1.138.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.141.6.2  18-May-2014  rmind sync with head
 1.141.6.1  28-Aug-2013  rmind sync with head
 1.145.6.5  28-Aug-2017  skrll Sync with HEAD
 1.145.6.4  05-Oct-2016  skrll Sync with HEAD
 1.145.6.3  09-Jul-2016  skrll Sync with HEAD
 1.145.6.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.145.6.1  06-Apr-2015  skrll Sync with HEAD
 1.154.4.1  10-Jun-2019  christos Sync with HEAD
 1.154.2.4  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.154.2.3  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.154.2.2  20-Oct-2018  pgoyette Sync with head
 1.154.2.1  30-Sep-2018  pgoyette Split sparc64/netbsd32_machdep.c into pieces specific to versions _13
and _16

XXX Somehow this has broken compat_sunos - must investigate further
 1.163.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.165.4.1  31-May-2021  cjep sync with head
 1.165.2.1  13-May-2021  thorpej Sync with HEAD.

RSS XML Feed