Changes in this release:
* Added two new manual pages, atf-c++-api and atf-sh-api, describing the
C++ and POSIX shell interfaces used to write test programs.
* Added a pkg-config file, useful to get the flags to build against the
C++ library or to easily detect the presence of ATF.
* Added a way for test cases to require a specific architecture and/or
machine type through the new 'require.arch' and 'require.machine'
meta-data properties, respectively.
* Added the 'timeout' property to test cases, useful to set an upper-bound
limit for the test's run time and thus prevent global test program stalls
due to the test case's misbehavior.
* Added the atf-exec(1) internal utility, used to execute a command after
changing the process group it belongs to.
* Added the atf-killpg(1) internal utility, used to kill process groups.
* Multiple portability fixes. Of special interest, full support for SunOS
(Solaris Express Developer Edition 2007/09) using the Sun Studio 12 C++
compiler.
* Fixed a serious bug that prevented atf-run(1) from working at all under
Fedora 8 x86_64. Due to the nature of the bug, other platforms were
likely affected too.
hadn't tested) and an uninitialized field in cse which Darran Hunt
found. Some more debugging printfs.
Turn on MPSAFE for the kthread. We're not sure it's safe for the softint
yet. Gives a little performance kick for swcrypto with many requests on
MP systems.
contents of the generated scripts may change (as will happen with ATF 0.4),
so this dependency is important to have. Dunno how to deal with the
non-tools case other than adding an entry in UPDATING, but if you are not
using tools, you can expect all kinds of breakage.
install time. Translations will need to be adjusted - I didn't feel
comfortable touching anything but .en and .de despite the relatively
simple adjustment...
(actually splnet) and condvars instead of tsleep/wakeup. Fix a few
miscellaneous problems and add some debugging printfs while there.
Restore set of CRYPTO_F_DONE in crypto_done() which was lost at some
point after this code came from FreeBSD -- it made it impossible to wait
properly for a condition.
Add flags analogous to the "crp" flags to the key operation's krp struct.
Add a new flag, CRYPTO_F_ONRETQ which tells us a request finished before
the kthread had a chance to dequeue it and call its callback -- this was
letting requests stick on the queues before even though done and copied
out.
Callers of crypto_newsession() or crypto_freesession() must now take the
mutex. Change netipsec to do so. Dispatch takes the mutex itself as
needed.
This was tested fairly extensively with the cryptosoft backend and lightly
with a new hardware driver. It has not been tested with FAST_IPSEC; I am
unable to ascertain whether FAST_IPSEC currently works at all in our tree.
pjd@FreeBSD.ORG, ad@NetBSD.ORG, and darran@snark.us pointed me in the
right direction several times in the course of this. Remaining bugs
are mine alone.
that conflicted with libc. We changed them to lgetchar() and xputchar()
respectively; larn 12.2 changed them to ttgetch() and ttputch(). After
reflecting on this for a while I've decided to adopt the larn 12.2
names; not so much for compatibility but for consistency going forward.
So, massrename them. Also make ttputch() static.
Most of this code was removed ages ago, probably when dm(6) was invented;
long before -r1.1 in the NetBSD tree in any event.
Now remove the last fragment of it.
Also nuke the file of US holidays 1987-1993 that we've been carrying
around for no reason.
Logically the previous code should have worked but didn't. It appeared to
fail when reading the relocation table from physical memory.
To work-around this issue we now compact the relocation table (it shrinks
from ~800 entries to ~15 on a 2.5MB kernel) The compacted table is small
enough to copy into the page of memory we use to do the relocations. The
relocation code can now find the table, and carry out the relocations.
To help with debugging the screen border will change colour:
Red: Running without the MMU turned on (IE 1-1 physical mapping)
Note that the border will stay red a while as we're copying the
kernel over at this point.
Green: We've finished copying the kernel over (unless the code breaks
this will be rarely seen)
Blue: We're running on the bootstrap L1 table, and just about to call
the kernel.
Other tweaks include:
* copy the kernel 32bits at a time, rather than 8 bits at a time.
* assert that the relocations are 32bit aligned (so the above works)
* flush the cache and write buffers before turning off the MMU.
Tested by myself on an A7000+. Tested by skrll@ on Risc-PC and A7000.
host controller implementations, start with two little functions
which fake up string descriptors (which were inconststent, language
table fetching didn't interoperate with other code in the tree)