Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/atari/dev/md_root.c
RevisionDateAuthorComments
 1.36  06-Jan-2023  tsutsui TAB/spaces/indents cleanup.
 1.35  03-Jan-2021  thorpej malloc(9) -> kmem(9)
 1.34  03-Sep-2018  riastradh branches: 1.34.12;
Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.33  20-Oct-2009  snj branches: 1.33.44; 1.33.54; 1.33.62; 1.33.64;
Remove 3rd and 4th clause on Leo Weppelman's license. OK leo@.
 1.32  07-Jul-2009  tsutsui Some KNF and cosmetics.
 1.31  18-Mar-2009  cegger bcopy -> memcpy
 1.30  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.29  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.28  28-Dec-2008  tsutsui branches: 1.28.2;
Fix broken RCS Id.
 1.27  28-Dec-2008  tsutsui Clear bp->b_oflags (introduced on vmlocking2 merge) before read
rather than calling brelse(9) after read.
Tested by Tuomo Makinen on port-atari.

Should fix pool panics during installation reported by David Ross
on port-atari:
http://mail-index.NetBSD.org/port-atari/2008/11/13/msg000113.html
and actually close PR port-atari/39850.
 1.26  04-Nov-2008  abs Another fix from Tuomo Makinen - Use brelse() to unbusy bp buffer
to allow user to swap floppy disks when prompted.
 1.25  02-Jan-2008  ad branches: 1.25.6; 1.25.10; 1.25.16; 1.25.18; 1.25.20;
Merge vmlocking2 to head.
 1.24  17-Oct-2007  garbled branches: 1.24.2; 1.24.4; 1.24.8;
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.23  29-Jul-2007  ad branches: 1.23.6;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.22  06-Mar-2007  tsutsui branches: 1.22.2; 1.22.10; 1.22.12; 1.22.14;
- change pointers which actually required caddr_t to calculate address
from (void *) to (char *)
- add (char *) cast to appease -Wpointer-arith
 1.21  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.20  11-Dec-2005  christos branches: 1.20.24; 1.20.26;
merge ktrace-lwp.
 1.19  15-Jul-2003  lukem branches: 1.19.16;
__KERNEL_RCSID()
 1.18  06-Sep-2002  gehenna branches: 1.18.6;
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.17  23-May-2002  leo Fix typo.
 1.16  23-May-2002  leo Update md config:
- md0 -> 1MB image on a 720KB floppy
- md1 -> 1.44MB image on a 720KB floppy
- md2 -> 1.44MB image on a 1.44MB floppy
 1.15  27-Nov-2000  chs branches: 1.15.2; 1.15.4; 1.15.8; 1.15.16; 1.15.18;
Initial integration of the Unified Buffer Cache project.
 1.14  21-Jan-2000  thorpej Update for sys/buf.h/disksort_*() changes.
 1.13  30-Jul-1997  leo branches: 1.13.18;
Add second md device.
 1.12  30-Mar-1997  leo branches: 1.12.4;
Add a space to the attach message.
 1.11  28-Dec-1996  pk omission in last commit: ramdisk.h => md.h
 1.10  28-Dec-1996  pk rename: ramdisk => md
 1.9  20-Dec-1996  leo Get rid of BROKEN_INDIRECT_CONFIG
 1.8  08-Nov-1996  leo Adapt to the change in the floppy minor-number sceme.
 1.7  13-Oct-1996  christos backout previous kprintf changes
 1.6  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.5  16-Sep-1996  leo atari_realconfig now defined in <atari/device.h>
 1.4  26-Apr-1996  leo Corrections for removed <sys/cpu.h> and some more prototypes.
 1.3  18-Apr-1996  leo Yet more prototyping and -Wall fixes.
 1.2  27-Mar-1996  leo Remove rd_match_hook().
 1.1  14-Mar-1996  leo Switch to the mi ramdisk driver.
 1.12.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.13.18.2  08-Dec-2000  bouyer Sync with HEAD.
 1.13.18.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.15.18.1  28-May-2002  lukem Pull up revisions 1.16-1.17 (requested by leo):
Update md config:
- md0 -> 1MB image on a 720KB floppy
- md1 -> 1.44MB image on a 720KB floppy
- md2 -> 1.44MB image on a 1.44MB floppy
Fix typo.
 1.15.16.2  30-May-2002  gehenna Catch up with -current.
 1.15.16.1  19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.15.8.5  17-Sep-2002  nathanw Catch up to -current.
 1.15.8.4  12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.15.8.3  24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.15.8.2  20-Jun-2002  nathanw Catch up to -current.
 1.15.8.1  17-Nov-2001  scw MD Scheduler Activation bits for Atari.
Compile-tested only.
 1.15.4.2  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.15.4.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.1  10-Oct-2001  fvdl Convert all remaining devices.
 1.18.6.4  17-Jan-2005  skrll Adapt to branch.
 1.18.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.18.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.18.6.1  03-Aug-2004  skrll Sync with HEAD
 1.19.16.3  21-Jan-2008  yamt sync with head
 1.19.16.2  03-Sep-2007  yamt sync with head.
 1.19.16.1  21-Jun-2006  yamt sync with head.
 1.20.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.20.24.3  02-Jan-2009  jdc Back out changes 1.20.24.1 and 1.20.24.2 (requested by tsutsui in ticket
#1226).
This fix is not required on netbsd-4 branch.
 1.20.24.2  30-Nov-2008  bouyer Apply patch, requested by tsutsui as part of ticket 1226:
fix initial patch from abs to make it build (brelse() takes only one argument
on netbsd-4).
 1.20.24.1  18-Nov-2008  snj Pull up following revision(s) (requested by abs in ticket #1226):
sys/arch/atari/dev/md_root.c: revision 1.26 via patch
Another fix from Tuomo Makinen - Use brelse() to unbusy bp buffer
to allow user to swap floppy disks when prompted.
 1.22.14.1  15-Aug-2007  skrll Sync with HEAD.
 1.22.12.1  07-Aug-2007  matt Sync with HEAD.
 1.22.10.1  03-Oct-2007  garbled Sync with HEAD
 1.22.2.1  19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.23.6.2  09-Jan-2008  matt sync with HEAD
 1.23.6.1  06-Nov-2007  matt sync with HEAD
 1.24.8.1  02-Jan-2008  bouyer Sync with HEAD
 1.24.4.1  31-Dec-2007  ad Make compile with new buffer cache locking scheme.

XXX This should be largely MI, please do not make another clone of disksubr.c.
 1.24.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.25.20.3  06-Jan-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #220):
sys/arch/atari/dev/md_root.c: revision 1.28
Fix broken RCS Id.
 1.25.20.2  06-Jan-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #220):
sys/arch/atari/dev/md_root.c: revision 1.27
Clear bp->b_oflags (introduced on vmlocking2 merge) before read
rather than calling brelse(9) after read.
Tested by Tuomo Makinen on port-atari.
Should fix pool panics during installation reported by David Ross
on port-atari:
http://mail-index.NetBSD.org/port-atari/2008/11/13/msg000113.html
and actually close PR port-atari/39850.
 1.25.20.1  06-Nov-2008  snj Pull up following revision(s) (requested by abs in ticket #14):
sys/arch/atari/dev/md_root.c: revision 1.26
Another fix from Tuomo Makinen - Use brelse() to unbusy bp buffer
to allow user to swap floppy disks when prompted.
 1.25.18.2  28-Apr-2009  skrll Sync with HEAD.
 1.25.18.1  19-Jan-2009  skrll Sync with HEAD.
 1.25.16.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.25.10.3  11-Mar-2010  yamt sync with head
 1.25.10.2  18-Jul-2009  yamt sync with head.
 1.25.10.1  04-May-2009  yamt sync with head.
 1.25.6.1  17-Jan-2009  mjf Sync with HEAD.
 1.28.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.33.64.1  10-Jun-2019  christos Sync with HEAD
 1.33.62.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.33.54.1  27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.33.44.1  20-Jul-2016  pgoyette Adapt the machine/arch dependent code to the new {b,c}devsw reference
counting.

XXX Most of these will require testing by someone other than myself, as
I have a limited selection of hardware!
 1.34.12.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed