Home | History | Annotate | Download | only in pic
History log of /src/sys/arch/powerpc/pic/pic_mpcsoc.c
RevisionDateAuthorComments
 1.9  23-Feb-2022  andvar fix various typos in comments, mainly immediatly/immediately/,
as well shared and recently fixed typos in OpenBSD code by Jonathan Grey.
 1.8  06-Jul-2020  rin Style and cosmetic changes. No binary changes intended.
 1.7  03-Sep-2018  riastradh 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.6  01-Jun-2017  chs branches: 1.6.8; 1.6.10;
remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.5  01-Feb-2012  matt branches: 1.5.6; 1.5.24;
Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
 1.4  01-Feb-2012  matt Use C89 function prototypes.
 1.3  14-Jan-2012  phx Some PICs have the capability to define the interrupt's polarity (OpenPIC
for example). So the accepted interrupt types have been extended to:
- IST_EDGE_FALLING (which is the same as IST_EDGE)
- IST_EDGE_RISING (new)
- IST_LEVEL_LOW (is the same as IST_LEVEL)
- IST_LEVEL_HIGH (new)
Old code will continue to work without modification.
 1.2  20-Jun-2011  matt branches: 1.2.2; 1.2.6;
<arch/powerpc/... -> <powerpc/...
 1.1  19-Aug-2009  nisimura branches: 1.1.2; 1.1.12;
- Have pic_mpcsoc.c to adapt variations of Moto/Freescale OpenPIC
compliant interrupt controllers. Mostly the refrain of pic_openpic.c
and shall be useful for 85xx/86xx/QorIQ and Tundra product lines.
 1.1.12.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.2  19-Aug-2009  yamt sync with head.
 1.1.2.1  19-Aug-2009  yamt file pic_mpcsoc.c was added on branch yamt-nfs-mp on 2009-08-19 18:46:41 +0000
 1.2.6.1  18-Feb-2012  mrg merge to -current.
 1.2.2.1  17-Apr-2012  yamt sync with head
 1.5.24.1  28-Aug-2017  skrll Sync with HEAD
 1.5.6.1  03-Dec-2017  jdolecek update from HEAD
 1.6.10.1  10-Jun-2019  christos Sync with HEAD
 1.6.8.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed