| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
types. C99 requires that these definitions promote to (signed/unsigned)
integer the same way as the types the definition is for. And since
unsigned char/short fit into an "int" on all our archs and thus promote
to signed int, the definitions must not be unsigned.
Fixes PR lib/31306 by Neil Booth.
|
|
|
|
|
|
future commit will replace use of TRUE and FALSE with true and false.
|
|
|
|
via a soft interrupt. In the near future, softclock will be run from process
context.
|
|
|
|
- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
|
|
Same problem as described in port-alpha/10582 by ITOH Yasufumi.
pc532 problem pointed out by Valeriy Ushakov.
|
|
Pointed out by Nick Hudson.
|
|
mbstate_t(this is opaque object)'s initializer should be ``{ 0 }'',
so changed 1st field of union from character array to integer.
|
|
From Garrett D'Amore, with only a couple of minor tweaks by me.
|
|
happier with new compilers and compiler warnings settings.
|
|
- move the following macros from MD headers to sys/param.h.
ctod
dtoc
ctob
btoc
dbtob
btodb
|
|
|
|
|
|
when this port was created and has long since been removed from the i386
port.
|
|
modifies machine/db_machdep.h: BKPT_SET(inst) to BKPT_SET(inst, addr) for all archs ie; passess the
breakpoint address as well.
Patch from cherry@mahiti.org
|
|
moving system call functionality from trap.c to new syscall.c
Split out userret from trap.c to <machine/userret.h> and use
mi_userret().
This gets approx 20% speed improvement (45us to 36us) with lmbench's
"lat_syscall null" benchmark(!).
|
|
new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
|
sys/bswap.h in order to pick up the MD inline routines and the constant
folding definitions in the right order.
Code can include either sys/bswap.h or machine/bswap.h with the same effect.
|
|
Put the minimum to define the required inline assembler or C into the MD files.
NB: there may be some fallout from this!
|
|
are defined in terms of bswap32() and bswap16().
This makes the definition be in the same place for all systems regardless
of creed^Wendianness.
|
|
|
|
|
|
|
|
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
|
|
|
|
|
|
use a gcc attribute to prevent it from being instrumented.
|
|
|
|
#define clockframe somethingelse
to:
struct clockframe {
struct somethingelse cf_se;
};
and change access macros accordingly.
That means that, at least for that very issue, things will not go
ka-boomy if you don't have the actual definition of struct clockframe
before including systm.h.
|
|
|
|
|
|
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.
IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
|
|
|
|
|
|
without touching all ports. discussed on tech-kern@.
|
|
|
|
|
|
|
|
information hidden outside the kernel.
|
|
|
|
|
|
|
|
with most other ports.
|
|
process context ('reaper').
From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
as FPU state), and is the last potentially blocking operation;
all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
for both 'process' and 'lwp' exit
uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.
MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.
g/c now unneeded routines and variables, including the reaper kernel thread
|