Home | History | Annotate | Download | only in alpha
History log of /src/sys/arch/alpha/alpha/dec_2000_300.c
RevisionDateAuthorComments
 1.23  09-Mar-2025  thorpej Re-factor the boot device and consinit routines into common functions
per platform type (PCI vs TC), eliminating a bunch of copy-pasta.
 1.22  31-Mar-2024  thorpej branches: 1.22.2;
Always call platform.device_register(), even if bootdev_data is NULL.
 1.21  04-Dec-2023  thorpej Convert the Alpha port's bus_space back-end to manage address space
with vmem(9) arenas (using statically-allocated private boundary tags
for very early-in-boot) rather than extent(9).

As a side-effect, there's arguments to some initialization functions
that are no longer required, so garbage-collect those, update all the
call sites.
 1.20  14-Oct-2020  thorpej Add a mechanism to allow a platform to optionally shelter some region
of physical memory from random allocations from the default VM page
free list. Use this hook to shelter regions within 0-16MB of physical
RAM on Jensen and Irongate systems; those platforms do not have SGMAP
DMA, and so we need to shelter this range so that devices using ISA DMA
(e.g. floppy controller) have an opportunity to allocate DMA-safe memory.

PR port-alpha/27087
 1.19  13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.18  06-Feb-2012  matt branches: 1.18.6;
Do a minor cleanup of alpha (this will make applying pullups post branching
easier).
u_int{8,16,32,64}_t -> uint{*}_t
Change all old-style definitions to C89 prototypes.
Whitespace cleanup.
Constification in db_disasm.c
 1.17  14-Jun-2011  matt branches: 1.17.2; 1.17.6;
Major cleanup of alpha device drivers.
Switch to CFATTACH_DECL_NEW.
struct device * -> device_t
struct cfdata * -> cfdata_t
Use of device_xname. No direct access to struct device members.
Use aprint* (not complete).
 1.16  28-Apr-2008  martin branches: 1.16.32;
Remove clause 3 and 4 from TNF licenses
 1.15  17-Oct-2007  garbled branches: 1.15.16; 1.15.18; 1.15.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.14  19-Jul-2007  tsutsui branches: 1.14.6;
Avoid NULL pointer dereference in MD device_register() function.
Fixes a part of PR port-alpha/36628.
 1.13  04-Mar-2007  yamt branches: 1.13.2; 1.13.10; 1.13.12; 1.13.14;
fix fallout from caddr_t changes.
 1.12  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.11  25-Feb-2006  thorpej branches: 1.11.18; 1.11.20; 1.11.24;
Use device_is_a().
 1.10  23-Feb-2006  thorpej Use device_parent().
 1.9  14-Jun-2003  thorpej branches: 1.9.18; 1.9.30; 1.9.32; 1.9.34;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.8  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.7  27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.6  26-Sep-2002  thorpej Get the pointer to the driver name early, rather than always dereferencing
the cfdriver pointer.
 1.5  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.4  30-May-2001  lukem branches: 1.4.2; 1.4.4; 1.4.16;
add missing #include "opt_kgdb.h"
 1.3  25-Apr-2001  bouyer Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.2  19-Apr-2001  thorpej Add support for attaching "com" serial ports as KGDB devices.
 1.1  12-Jul-2000  thorpej branches: 1.1.2; 1.1.4; 1.1.6;
Code to support the DEC 2000/300 (DECpc AXP 150, a.k.a. "Jensen")
systems. Thanks to Gyenes Istvan for the rounds of testing.
 1.1.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.1.4.3  23-Apr-2001  bouyer Sync with HEAD.
 1.1.4.2  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.1.4.1  12-Jul-2000  bouyer file dec_2000_300.c was added on branch thorpej_scsipi on 2000-11-20 19:56:23 +0000
 1.1.2.2  12-Jul-2000  thorpej Update from trunk:
Code to support the DEC 2000/300 (DECpc AXP 150, a.k.a. "Jensen")
systems. Thanks to Gyenes Istvan for the rounds of testing.
 1.1.2.1  12-Jul-2000  thorpej file dec_2000_300.c was added on branch netbsd-1-5 on 2000-07-12 20:59:09 +0000
 1.4.16.1  16-May-2002  gehenna Get rid of port-dependent conf.h.
 1.4.4.3  18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2  17-Sep-2002  nathanw Catch up to -current.
 1.4.4.1  30-May-2001  nathanw file dec_2000_300.c was added on branch nathanw_sa on 2002-09-17 21:12:35 +0000
 1.4.2.1  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.9.34.1  22-Apr-2006  simonb Sync with head.
 1.9.32.1  09-Sep-2006  rpaulo sync with head
 1.9.30.1  01-Mar-2006  yamt sync with head.
 1.9.18.2  03-Sep-2007  yamt sync with head.
 1.9.18.1  21-Jun-2006  yamt sync with head.
 1.11.24.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.11.20.1  12-Mar-2007  rmind Sync with HEAD.
 1.11.18.1  21-Aug-2007  liamjfoy Pull up following revision(s) (requested by tsutsui in ticket #815):
sys/arch/alpha/pci/sio.c: revision 1.41
sys/arch/alpha/eisa/eisa_machdep.c: revision 1.6
sys/arch/alpha/jensenio/jensenio.c: revision 1.14
sys/arch/alpha/jensenio/jensenio_intr.c: revision 1.6
sys/arch/alpha/include/eisa_machdep.h: revision 1.8
sys/arch/alpha/alpha/dec_2000_300.c: revision 1.14
sys/arch/alpha/jensenio/lpt_jensenio.c: revision 1.6
Avoid NULL pointer dereference in MD device_register() function.
Fixes a part of PR port-alpha/36628.
Backout changes on lpt_jensenio.c rev 1.2.
lpt at jensenio doesn't seem to have a specific interrupt vector
but uses a normal EISA interrupt.
Fixes another part of PR port-alpha/36628 and PR port-alpha/20386.
More fixes for Jensen, reported and tested by Christoph Franzen
in PR port-alpha/36628:
- make jensenio_eisa_maxslots() return 8 (instead of 16) since
EISA config for slot 8-15 on jensen could return invalid values
- pass eisa_chipset_tag_t to eisa_init() and check eisa_maxslots()
on probing EISA config space
- pass M_ZERO to malloc(9) and make sure malloc(9) doesn't fail
- fix typo in a debug printf, add more debug printfs, and
use #ifdef EISA_DEBUG to enable them
- cast uint8_t value to uint32_t before shift more than 8 bits
- check buffer region on reading compressed data from EISA config space
Check a correct value on a sanity check in jensenio_eisa_intr_map().
Fixes yet another bug on Jensen found on tracking PR port-alpha/36628.
 1.13.14.1  15-Aug-2007  skrll Sync with HEAD.
 1.13.12.1  07-Aug-2007  matt Sync with HEAD.
 1.13.10.1  03-Oct-2007  garbled Sync with HEAD
 1.13.2.1  20-Aug-2007  ad Sync with HEAD.
 1.14.6.1  06-Nov-2007  matt sync with HEAD
 1.15.20.1  16-May-2008  yamt sync with head.
 1.15.18.1  18-May-2008  yamt sync with head.
 1.15.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.16.32.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.17.6.1  18-Feb-2012  mrg merge to -current.
 1.17.2.2  30-Oct-2012  yamt sync with head
 1.17.2.1  17-Apr-2012  yamt sync with head
 1.18.6.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.22.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed