The new functionality aims to save each file system server from having
to implement its own block I/O routines just so that it can serve as a
root file system. The new source file (bio.c) lists the requirements
that file system servers have to fulfill in order to use the routines.
Change-Id: Ia0190fd5c30e8c2097ed8f4b0e3ccde1827e0b92
The file system may not be expecting these upcalls at arbitrary
moments, while they serve only as a performance optimization anyway.
Change-Id: I0748fd1f6c2645ddbb64466093ee36025aac45e0
The minixfs library only ever submits vector elements (and reads) of
the system page size. The test implementation was expecting vector
elements (and reads) of the file system block size. The resulting
mismatch caused I/O to fail in various ways, even though this did not
have an effect on the actual test.
Change-Id: I02f4a3efcd4a32916435d82c7d5798e6b78f0a27
Updating the current block size before flushing the cache, which still
contained blocks with the old block size, resulted in triggering an
assert on position alignment.
Change-Id: I7a83f3d3bc57bafc08aa6c8df64fbf978273bbfd
This library provides new abstractions for the upper (VFS) side of
file system services, and should be used for all file system service
implementations from now on. It provides the following functionality:
- a function call table abstraction, hiding the details of the
VFS-FS protocol with simple parameters;
- a (currently limited) number of per-function steps required for
all file system implementations, such as copying in and out path
names and result buffers;
- a default implementation for multicomponent path lookups, such
that the file system merely has to implement resolution of single
components at a time;
- an abstraction for copying data from and to the file system, which
allows transparent intraprocess copying as required for the lookup
implementation;
- a set of functions to simplify getdents implementations.
The message loop provided by the library is currently for use by
single-threaded file system implementations only. Multithreaded file
system services may use the more low-level message processing
functionality.
Protocol-level optimizations such as including names in protocol
messages may be hidden entirely in this library. In addition, in the
future, the lookup implementation may be replaced by a single-
component lookup VFS/FS protocol request as part of a VFS name cache
implementation; this, too, can be hidden entirely in this library.
Change-Id: Ib34f0d0e021dfa3426ce8826efcf3eaa94d3ef3e
This is an attempt at simplifying the Makefile, by specifying the home
directory of every utility, instead of trying to guess depending on some
variable.
While this is a bit more verbose, this simplifies the logic. This also makes
it simpler to add / remove programs from the ramdisk.
Change-Id: Id789a6cc6e5a9be11decec0f30c5327f19819aa1
- With this patch, DDEKit no longer uses IRQ number as interrupt ID
and more IRQ numbers can be used with it
- DDEKit IRQ code, will now check return values and panic on error
Change-Id: I9ef5ab1ee2262242204bdd8c0a60459a19ddcc1b
- This improves the user messages.
- This update the pkgsrc checkout rules to point to the new repository,
as well as the new work process we are introducing.
- This introduces rules for the MINIX sources, as we don't have the
space anymore to distribute them by default on the official ISO.
Change-Id: Id1867286bd15efc46bad1d906c1ca1b3a883b064
This script runs a subset of all the available test. This is aimed at
first time users which might be surprised by the warnings and time the
full test suite takes.
This runs all the tests which in case of success only print "ok" and
don't take too much time to run, independently of the network
connectivity.
Change-Id: Id54b7656a98f9ec81880f91cb63ca888a175f20f
There is a tic command which comes with a package. When this package is
installed, this prevent "make build" from completing, as the packaged
tic as incompatible arguments.
Change-Id: Ic75057013b92158d715c5533f01d79f65317a400
- Removed an "export CPPFLAGS=${FLAG}" which prevented proper settings
from the environment to be passed to the build step.
- Re-arranged variable settings at the top, so that we don't need
to evaluate the argument to vfat mkfs command anymore in
arm_sdimage.sh
- "Merged" both script for easier comparison in the future.
Change-Id: Id59f902e4eaeb7f268d5051789462f14421a114a
The bin user doesn't need an actual home folder to run the tests. As
such this account should not be used in 'su - bin'. To be noted that
'su bin' still works as expected, and allow to run the minix test set
as usual.
Change-Id: I21fd178bf3b7b28849f05ef24930b553094cc851
We used to have an account "ast" as a token to Andrew S. Tannebaum,
the creator of MINIX. The account was disable by default, with no
possible way to login.
It seems it generates more confusion than it is worth, so this removes it.
The default skeleton user profile is still stored into /etc/ast instead
of the usual /etc/skel.
Change-Id: I71818c0bb9580cdecfa9621f8693586fc48d17cb
As the ABI breaks everything, there is no point to keep the full source
upgrade documentation tweaks preceding the merge.
Change-Id: I1d5dcc7a7586e6aabd6b671dc2693f4fc9c5391c
Instead of blindly defaulting to cc, try to find the actual compiler
installed on the system, and as a last resort
Change-Id: I114780b8e4bb54fab72dbd80466266126d6574a5
RS used to do a stat, and check that the stat was successful, but it
didn't check that the executable was not actually empty.
This patch adds a check to detect file which are smaller than the minimum
ELF size possible.
Change-Id: I22b004084f17e7d395e2c1377add7bc8b51c3d5e
As we have switched to a local git repository containing the NetBSD
reference, at specific points in time, the following scripts are not
anymore useful.
Change-Id: Iec0606a640a73e6ce80ecc5d9ac438daab9f2a1f
This concerns all services, a.k.a drivers, filesystem drivers, network
(inet, lwip, uds) servers, and the system servers.
Change-Id: I626fd15c795e15af42df2d10d47fb4a703665d63