]> Zhao Yanbai Git Server - minix.git/log
minix.git
11 years agoMined: allow Ins to mark 64/264/1
Antoine Leca [Tue, 17 Jan 2012 12:53:27 +0000 (13:53 +0100)]
Mined: allow Ins to mark

11 years agomake: correct a typo of NetBSD source 63/263/1
Antoine Leca [Wed, 23 Jan 2013 18:20:42 +0000 (18:20 +0000)]
make: correct a typo of NetBSD source

11 years agoReplace tell_config with NetBSD osrelease.sh 62/262/1
Antoine Leca [Wed, 23 Jan 2013 08:13:24 +0000 (08:13 +0000)]
Replace tell_config with NetBSD osrelease.sh

11 years agoRamdisk: remove mtab, as now obsolete 61/261/1
Antoine Leca [Tue, 22 Jan 2013 12:49:15 +0000 (12:49 +0000)]
Ramdisk: remove mtab, as now obsolete

11 years agomkdep: restore NetBSD behaviour 60/260/1
Antoine Leca [Sat, 19 Jan 2013 15:12:04 +0000 (16:12 +0100)]
mkdep: restore NetBSD behaviour

Since MINIX has a working cc, do not introduce spurious differences

11 years agoGNU tools: improvements to fetching process 59/259/1
Antoine Leca [Mon, 21 Jan 2013 14:30:17 +0000 (14:30 +0000)]
GNU tools: improvements to fetching process

- Do not run the fetch.sh script every time
- Do not run the configure script with MKUPDATE=yes (build.sh -u)
- The fetched GNU source are hidden from `git status`
- With CLEANFETCHED=yes, `nbmake -C tools cleandir` will remove the
fetched GNU source and return the MINIX tree to its pristine state.
- Avoid (harmless) message when building in parallel, about find
running against an inexistant path

Notice that the GNU tools are "installed" on every run, even with
MKUPDATE=yes; this is a feature of the NetBSD build system, because
in case of changes in dependencies it is impossible to know them.
See commit 1.27 2004-06-12 of tools/Makefile.gnuhost in NetBSD's src/

The downloaded tarballs are not removed with CLEANFETCHED:
they are supposed to be unmodified, and the exact name is not known
to the Makefile's, since it is engraved in each fetch.sh script (and
we do not want to have the same information in several places.)

11 years agoVFS: fix select again
Thomas Veerman [Fri, 25 Jan 2013 17:42:36 +0000 (17:42 +0000)]
VFS: fix select again

Change-Id: Ia5e26cdbfe38e3fb293dd57269a76b15c1fe236b

11 years agoARM: run with 64 processes only for now
Thomas Veerman [Fri, 25 Jan 2013 13:42:14 +0000 (14:42 +0100)]
ARM: run with 64 processes only for now

11 years agoKernel/ARM: faster context save
Thomas Veerman [Fri, 25 Jan 2013 13:41:43 +0000 (14:41 +0100)]
Kernel/ARM: faster context save

11 years agoKernel/ARM: use modern srsdb invocation
Thomas Veerman [Fri, 25 Jan 2013 13:31:40 +0000 (14:31 +0100)]
Kernel/ARM: use modern srsdb invocation

11 years agolibcsu: store argc and argv on the stack
Thomas Veerman [Fri, 25 Jan 2013 13:29:29 +0000 (14:29 +0100)]
libcsu: store argc and argv on the stack

11 years agoRamdisk: fix ramdisk creation for ARM
Thomas Veerman [Fri, 25 Jan 2013 12:49:18 +0000 (13:49 +0100)]
Ramdisk: fix ramdisk creation for ARM

11 years agoAlso build and install log for ARM
Thomas Veerman [Wed, 23 Jan 2013 14:12:19 +0000 (15:12 +0100)]
Also build and install log for ARM

11 years agoARM: disable __minix_init for now
Thomas Veerman [Wed, 23 Jan 2013 14:07:04 +0000 (15:07 +0100)]
ARM: disable __minix_init for now

On ARM we can't yet globally map pages into every process. So now that
we correctly receive the pointer to the globally mapped kern_info
struct, we have to ignore it on ARM because attempting to dereference
the pointer yields a segfault.

11 years agoARM: correctly store kernel_info_struct pointer
Thomas Veerman [Wed, 23 Jan 2013 13:56:48 +0000 (14:56 +0100)]
ARM: correctly store kernel_info_struct pointer

11 years agoVM: ARM needs more spare pages
Thomas Veerman [Wed, 23 Jan 2013 13:54:41 +0000 (14:54 +0100)]
VM: ARM needs more spare pages

11 years agoARM: Provide linker script for VM
Thomas Veerman [Thu, 17 Jan 2013 14:40:23 +0000 (15:40 +0100)]
ARM: Provide linker script for VM

11 years agoSplit libsys in arch dependent parts
Thomas Veerman [Thu, 17 Jan 2013 13:50:01 +0000 (14:50 +0100)]
Split libsys in arch dependent parts

The ARM part is not finished yet and will be fixed in a later commit.

11 years agoARM: clear BSS upon boot
Thomas Veerman [Thu, 17 Jan 2013 12:35:07 +0000 (13:35 +0100)]
ARM: clear BSS upon boot

11 years agoARM: provide means to pass boot cmdline
Thomas Veerman [Thu, 17 Jan 2013 11:37:53 +0000 (11:37 +0000)]
ARM: provide means to pass boot cmdline

11 years agoPFS: verify nrbytes
Thomas Veerman [Fri, 25 Jan 2013 11:57:32 +0000 (11:57 +0000)]
PFS: verify nrbytes

11 years agotests: print error locations verbosely 43/243/2
Ben Gras [Fri, 25 Jan 2013 01:00:10 +0000 (01:00 +0000)]
tests: print error locations verbosely

So we don't have to figure out which line generated this error by
searching for the subtest/error code combination.

Change-Id: Icca0a776fd19f0f3d250ddb76916f5f932dd9b5e

11 years agogetifaddrs: add un-namespaced alias 42/242/1
Ben Gras [Thu, 24 Jan 2013 21:52:48 +0000 (21:52 +0000)]
getifaddrs: add un-namespaced alias

. needed for security/heimdal, needed for git

Change-Id: I8638945dffd0abffd487c47281ad7616da1b70db

11 years agoTermcap update, replacing elvis by nvi. 41/241/1
Lionel Sambuc [Tue, 22 Jan 2013 11:03:53 +0000 (12:03 +0100)]
Termcap update, replacing elvis by nvi.

Removing elvis, importing nvi, ctags, updating libedit.

Change-Id: I881eb04d2dc64cf112facd992de1114e1a59107f

11 years agoRe-adding extended keys in minix termcap entry 40/240/1
Lionel Sambuc [Mon, 21 Jan 2013 14:08:04 +0000 (14:08 +0000)]
Re-adding extended keys in minix termcap entry

11 years agoFixing cross build i386 on minix 39/239/1
Lionel Sambuc [Thu, 17 Jan 2013 23:06:11 +0000 (00:06 +0100)]
Fixing cross build i386 on minix

11 years agobuild:fixes Files in DESTDIR but missing from flist. 37/237/2
Kees Jongenburger [Wed, 23 Jan 2013 11:29:18 +0000 (12:29 +0100)]
build:fixes Files in DESTDIR but missing from flist.

* virtio

Change-Id: I0c3262cb346692b6caaed0b80ffc1e725dbc0c66

11 years agobuild:fixes Files in DESTDIR but missing from flist. 36/236/1
Kees Jongenburger [Wed, 23 Jan 2013 10:26:46 +0000 (11:26 +0100)]
build:fixes Files in DESTDIR but missing from flist.

Change-Id: I9bf6de1697d1173898de2eda03f042f316427007

11 years agoVFS/PFS: remove remnants of file position in pipes
Thomas Veerman [Tue, 22 Jan 2013 16:40:53 +0000 (16:40 +0000)]
VFS/PFS: remove remnants of file position in pipes

11 years agoVFS: fix select bug on pipes
Thomas Veerman [Tue, 22 Jan 2013 15:49:02 +0000 (15:49 +0000)]
VFS: fix select bug on pipes

11 years agoramdisk: traditional-cpp does not work with clang
Thomas Veerman [Tue, 22 Jan 2013 10:29:47 +0000 (10:29 +0000)]
ramdisk: traditional-cpp does not work with clang

11 years agobuild:fixes Files in DESTDIR but missing from flist. 35/235/2
Kees Jongenburger [Tue, 22 Jan 2013 15:24:52 +0000 (16:24 +0100)]
build:fixes Files in DESTDIR but missing from flist.

Change-Id: Idb3d53a22bee6731fb22f435bf672a0ff180b863

11 years agoramdisk: add virtio-blk to proto and boot option
Joachim Henke [Sat, 15 Dec 2012 12:59:08 +0000 (13:59 +0100)]
ramdisk: add virtio-blk to proto and boot option

11 years agovirtio: virtio-net driver
Arne Welzel [Sat, 15 Dec 2012 12:55:07 +0000 (13:55 +0100)]
virtio: virtio-net driver

11 years agovirtio: virtio-blk driver
Arne Welzel [Sat, 15 Dec 2012 12:54:11 +0000 (13:54 +0100)]
virtio: virtio-blk driver

11 years agopci: add virtio pci device ids
Joachim Henke [Sat, 15 Dec 2012 12:52:17 +0000 (13:52 +0100)]
pci: add virtio pci device ids

11 years agovirtio: generic virtio library
Arne Welzel [Sat, 15 Dec 2012 12:47:37 +0000 (13:47 +0100)]
virtio: generic virtio library

11 years agokernel: fix sanity check
Ben Gras [Fri, 18 Jan 2013 02:24:00 +0000 (02:24 +0000)]
kernel: fix sanity check

11 years agoReplace previous change by different test
Ben Gras [Thu, 17 Jan 2013 15:58:12 +0000 (15:58 +0000)]
Replace previous change by different test

. so contents always get overwritten in out-of-tree case

11 years agodrivers/ramdisk/Makefile fixup
Lionel Sambuc [Thu, 17 Jan 2013 14:47:23 +0000 (15:47 +0100)]
drivers/ramdisk/Makefile fixup

Change-Id: I481830f19b650ff0d93bf319ca4d8e901657b8f8

11 years agoFixed bug in getrlimit as core dumps are supported now.
Nicholas Heath [Wed, 16 Jan 2013 18:25:33 +0000 (18:25 +0000)]
Fixed bug in getrlimit as core dumps are supported now.

11 years agoARM updates
Lionel Sambuc [Sun, 13 Jan 2013 16:20:11 +0000 (17:20 +0100)]
ARM updates

Due to the ABI we are using we have to use the earm architecture
moniker for the build system to behave correctly. This involves
then some headers to move around.

There is also a few related Makefile updates as well as minor
source code corrections.

11 years agoToolchain adaptation for ARM MINIX support
Lionel Sambuc [Sun, 13 Jan 2013 16:20:59 +0000 (17:20 +0100)]
Toolchain adaptation for ARM MINIX support

11 years agoReverting back to default value of MKARZERO
Lionel Sambuc [Sun, 13 Jan 2013 19:06:31 +0000 (20:06 +0100)]
Reverting back to default value of MKARZERO

The value was changed to no for cross-building as the old binutils
could not handle the required flag. As this is now possible, the
default is restored.

This flags make sure that AR zeroes out some timestamps and uid/gid
fields in libraries, which would change for every build of the
library otherwise, preventing comparison between to builds.

11 years agoRemoving useless __NBSD_LIBC define in libcurses
Lionel Sambuc [Sun, 13 Jan 2013 16:22:00 +0000 (17:22 +0100)]
Removing useless __NBSD_LIBC define in libcurses

11 years agomisc:Add gerrit code review support. 66/166/2
Kees Jongenburger [Tue, 8 Jan 2013 12:55:33 +0000 (13:55 +0100)]
misc:Add gerrit code review support.

Add gerrit code review support by adding a git-review configuration
file.

Change-Id: I63c2d22b946c6b64c90be120983ce81df890f6aa

11 years agosys/arch/x86/include updates
Ben Gras [Tue, 15 Jan 2013 09:29:55 +0000 (09:29 +0000)]
sys/arch/x86/include updates

. primary purpose is to synchronize with <ieeefp.h> which
  expects a fp_prec from sys/arch/x86/include/ieeefp.h

11 years agocsu: restore crt1.o symlink
Ben Gras [Tue, 15 Jan 2013 08:01:33 +0000 (08:01 +0000)]
csu: restore crt1.o symlink

. minix gcc package uses crt1.o to link

11 years agosprofalyze fixes
Ben Gras [Mon, 14 Jan 2013 20:43:11 +0000 (20:43 +0000)]
sprofalyze fixes

. accumulate sprof_info
. reset 'seen' endpoints for every file to keep in sync with kernel
  profile stream

11 years agotar: use utime() to restore timestamps
Ben Gras [Mon, 14 Jan 2013 23:19:35 +0000 (23:19 +0000)]
tar: use utime() to restore timestamps

. otherwise all extracted files get 'now'

11 years agoUPDATING instructions for libc/terminfo update
Lionel Sambuc [Mon, 14 Jan 2013 12:20:00 +0000 (13:20 +0100)]
UPDATING instructions for libc/terminfo update

11 years agoFix warnings trivial warnings.
Lionel Sambuc [Tue, 11 Dec 2012 17:42:21 +0000 (18:42 +0100)]
Fix warnings trivial warnings.

Fix warnings about:
 . Unused variables
 . format mismatch in printf/scanf format string and arguments
 . Missing parenthesis around assignment as truth values
 . Clang warnings anout unknown GCC pragma

11 years agoChanging field utmp.ut_time from int to time_t 80/180/2
Lionel Sambuc [Tue, 11 Dec 2012 17:03:26 +0000 (18:03 +0100)]
Changing field utmp.ut_time from int to time_t

This makes sure the types are coherent, and right now, time_t is
defined as an long, through _BSD_TIME_T_. It previously was
hardcoded as an int, so the structure's size does not change.

Change-Id: If29e94ab53f605d1480fadb540f5b67be4ddaf5b

11 years agoImporting common/dist/zlib 79/179/2
Lionel Sambuc [Tue, 18 Dec 2012 19:25:56 +0000 (20:25 +0100)]
Importing common/dist/zlib

Change-Id: I46de716a98ccc501ca32b2a9445d9964594ddc61

11 years agoUpdating lib/libcrypt 78/178/2
Lionel Sambuc [Tue, 18 Dec 2012 10:01:53 +0000 (11:01 +0100)]
Updating lib/libcrypt

Change-Id: I4dc5ca7c86abc5295ffc57386a14dd1d790fd489

11 years agoUpdating usr.bin/passwd 77/177/2
Lionel Sambuc [Wed, 12 Dec 2012 10:53:34 +0000 (11:53 +0100)]
Updating usr.bin/passwd

Change-Id: I5512cd44cb9f1684350050d4e3fb5bb4d1c9b6b1

11 years agoUpdating usr.bin/make 76/176/2
Lionel Sambuc [Tue, 11 Dec 2012 17:41:20 +0000 (18:41 +0100)]
Updating usr.bin/make

Change-Id: I66b137a0368cf99267cd47a9625da8a12d8a1df7

11 years agoUpdating usr.bin/m4 75/175/2
Lionel Sambuc [Tue, 11 Dec 2012 17:14:47 +0000 (18:14 +0100)]
Updating usr.bin/m4

Change-Id: I6edfb294639490da27f6abd132822b901de0d650

11 years agonbsd_ports cleanups 74/174/2
Lionel Sambuc [Thu, 22 Nov 2012 15:50:46 +0000 (16:50 +0100)]
nbsd_ports cleanups

Change-Id: Ib538a7b12a46a5052fb37e4ba74c32ebc43dbf64

11 years agoCleaning usage of MAJOR/MINOR 73/173/2
Lionel Sambuc [Wed, 12 Dec 2012 13:30:19 +0000 (14:30 +0100)]
Cleaning usage of MAJOR/MINOR

Change-Id: I4d7718c51967930375a5f0657b61f869745cf644

11 years agoUpdating libcurses, libterminfo and terminfo. 36/136/5
Lionel Sambuc [Tue, 4 Dec 2012 10:42:24 +0000 (11:42 +0100)]
Updating libcurses, libterminfo and terminfo.

The three are updated together as they are tightly coupled.

Change-Id: I9e1f07b6adc6e8ae10833e6f1402f8472d2d34b8

11 years agoLibraries updates and cleanup 72/172/2
Lionel Sambuc [Thu, 15 Nov 2012 11:06:41 +0000 (12:06 +0100)]
Libraries updates and cleanup

 * Updating common/lib
 * Updating lib/csu
 * Updating lib/libc
 * Updating libexec/ld.elf_so
 * Corrected test on __minix in featuretest to actually follow the
   meaning of the comment.
 * Cleaned up _REENTRANT-related defintions.
 * Disabled -D_REENTRANT for libfetch
 * Removing some unneeded __NBSD_LIBC defines and tests

Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2

11 years agoMoving all NetBSD headers back where they belong. 48/148/3
Lionel Sambuc [Mon, 26 Nov 2012 15:59:26 +0000 (16:59 +0100)]
Moving all NetBSD headers back where they belong.

Moving include/sys NetBSD headers to /sys/sys
Moving include/arch/*/ NetBSD headers to /sys/arch/*/include

Change-Id: Ia1a45d4e83ab806c84093ec2b61bdbea9bed65a0

11 years agocommon upgrades 45/145/4
Lionel Sambuc [Thu, 22 Nov 2012 15:50:23 +0000 (16:50 +0100)]
common upgrades

Change-Id: I567fc15845b601019d346569ecfcef4f89687fd2

11 years agoramdisk:add support for cross building a dso ramdisk. 71/171/3
Kees Jongenburger [Thu, 10 Jan 2013 16:05:12 +0000 (17:05 +0100)]
ramdisk:add support for cross building a dso ramdisk.

Change-Id: Ib2840bceab10cf98cb0abfbdb2393af4d59be102

11 years agoramdisk:replace proto.sh by the c processor. 70/170/4
Kees Jongenburger [Thu, 10 Jan 2013 09:50:32 +0000 (10:50 +0100)]
ramdisk:replace proto.sh by the c processor.

Replace proto.sh by the c processor to generate proto.gen in order
for us to have a more flexible way of selecting the files we want
in the ramdisk.

Change-Id: Id82b9f1b73b498c4d885bb3156fcefaeb9d157e0

11 years agoVFS: initialize variables
Thomas Veerman [Fri, 11 Jan 2013 12:46:44 +0000 (12:46 +0000)]
VFS: initialize variables

11 years agoVFS: Coverity appeasements
Thomas Veerman [Fri, 11 Jan 2013 09:42:01 +0000 (09:42 +0000)]
VFS: Coverity appeasements

11 years agoARM: fix clock
Thomas Veerman [Tue, 8 Jan 2013 12:02:38 +0000 (13:02 +0100)]
ARM: fix clock

The GPTIMER1 clock is configured to run at 32 kHz and generate
(overflow) interrupts every 1 ms. However, the Timer Overflow Wrappping
Register (TOWR) was configured to filter every other interrupt. This
caused to the internal 'realtime' value to be off.

11 years agoARM: make cycle counter available to userspace
Thomas Veerman [Tue, 8 Jan 2013 10:53:08 +0000 (11:53 +0100)]
ARM: make cycle counter available to userspace

11 years agoAdd stack trace dumps for VFS over serial
Thomas Veerman [Wed, 2 Jan 2013 13:41:36 +0000 (13:41 +0000)]
Add stack trace dumps for VFS over serial

11 years agoVFS: add documentation about internal working
Thomas Veerman [Tue, 18 Dec 2012 14:53:12 +0000 (14:53 +0000)]
VFS: add documentation about internal working

11 years agoVFS: change locking to ease concurrent FSes
Thomas Veerman [Fri, 21 Dec 2012 15:30:37 +0000 (15:30 +0000)]
VFS: change locking to ease concurrent FSes

This patch uses stricter locking for REQ_LINK, REQ_MKDIR, REQ_MKNOD,
REQ_RENAME, REQ_RMDIR, REQ_SLINK and REQ_UNLINK. For all requests, VFS
locks the directory in which we add or remove an inode with VNODE_WRITE.
I.e., the operations have exclusive access to that directory.

Furthermore, REQ_CHOWN, REQ_CHMOD, and REQ_FTRUNC now lock the vmnt
VMNT_READ; VMNT_WRITE was unnecessary.

11 years agolibmthread: add possibility to randomize scheduler
Thomas Veerman [Tue, 11 Dec 2012 19:53:08 +0000 (19:53 +0000)]
libmthread: add possibility to randomize scheduler

11 years agoVFS/PFS: remove notion of position in pipes
Thomas Veerman [Tue, 11 Dec 2012 19:46:09 +0000 (19:46 +0000)]
VFS/PFS: remove notion of position in pipes

Because pipes have no file position. VFS maintained (file) offsets into a
buffer internal to PFS and stored them in vnodes for simplicity, mixing
the responsibilities of filp and vnode objects.

With this patch PFS ignores the position field in REQ_READ and REQ_WRITE
requests making VFS' job a lot simpler.

11 years agoVFS: fix locking bugs
Thomas Veerman [Fri, 30 Nov 2012 12:49:53 +0000 (12:49 +0000)]
VFS: fix locking bugs

.sync and fsync used unnecessarily restrictive locking type
.fsync violated locking order by obtaining a vmnt lock after a filp lock
.fsync contained a TOCTOU bug
.new_node violated locking rules (didn't upgrade lock upon file creation)
.do_pipe used unnecessarily restrictive locking type
.always lock pipes exclusively; even a read operation might require to do
 a write on a vnode object (update pipe size)
.when opening a file with O_TRUNC, upgrade vnode lock when truncating
.utime used unnecessarily restrictive locking type
.path parsing:
  .always acquire VMNT_WRITE or VMNT_EXCL on vmnt and downgrade to
   VMNT_READ if that was what was actually requested. This prevents the
   following deadlock scenario:
   thread A:
     lock_vmnt(vmp, TLL_READSER);
     lock_vnode(vp, TLL_READSER);
     upgrade_vmnt_lock(vmp, TLL_WRITE);

   thread B:
     lock_vmnt(vmp, TLL_READ);
     lock_vnode(vp, TLL_READSER);

   thread A will be stuck in upgrade_vmnt_lock and thread B is stuck in
   lock_vnode. This happens when, for example, thread A tries create a
   new node (open.c:new_node) and thread B tries to do eat_path to
   change dir (stadir.c:do_chdir). When the path is being resolved, a
   vnode is always locked with VNODE_OPCL (TLL_READSER) and then
   downgraded to VNODE_READ if read-only is actually requested. Thread
   A locks the vmnt with VMNT_WRITE (TLL_READSER) which still allows
   VMNT_READ locks. Thread B can't acquire a lock on the vnode because
   thread A has it; Thread A can't upgrade its vmnt lock to VMNT_WRITE
   (TLL_WRITE) because thread B has a VMNT_READ lock on it.

   By serializing vmnt locks during path parsing, thread B can only
   acquire a lock on vmp when thread A has completely finished its
   operation.

11 years agovm: fix region reporting bug
Ben Gras [Wed, 9 Jan 2013 19:45:37 +0000 (19:45 +0000)]
vm: fix region reporting bug

. logic was backwards, causing no reporting ever
. this broke coredumps ('Warning: Program has too many regions')

11 years agoservice: nonfatally ignore unknown call keywords
Ben Gras [Tue, 8 Jan 2013 18:07:43 +0000 (18:07 +0000)]
service: nonfatally ignore unknown call keywords

. makes switching between revisions with new system.conf
  keywords less risky

11 years agorelease.sh: restore -jJAILDIR option
Ben Gras [Mon, 7 Jan 2013 21:21:19 +0000 (21:21 +0000)]
release.sh: restore -jJAILDIR option

. also make copying a bit more informative and succinct

11 years agoDrop obsolete klib16.S
Antoine Leca [Tue, 8 Jan 2013 15:12:37 +0000 (15:12 +0000)]
Drop obsolete klib16.S

The 16-bit poweroff16() function is not called any more.

11 years agogzip: fix warning messages with off_t
Antoine Leca [Mon, 7 Jan 2013 11:07:29 +0000 (11:07 +0000)]
gzip: fix warning messages with off_t

NetBSD assumes off_t is 64-bit, but on MINIX it is still 32-bit.
So cast the calls to use big_off_t, as stat(2) uses.
Only used in warning messages, was not a real production bug.

11 years agolibc, libutil: remove compat hacks
Ben Gras [Mon, 7 Jan 2013 19:10:08 +0000 (19:10 +0000)]
libc, libutil: remove compat hacks

11 years agokernel: trap-dependent state restore, trace fixes
Ben Gras [Sun, 6 Jan 2013 18:18:41 +0000 (18:18 +0000)]
kernel: trap-dependent state restore, trace fixes

. restore state depends on how saving of state was done;
  also remember trap style in sig context
. actually set and restore TRACEBIT with new trap styles;
  have to remove it once process enters kernel though, done
  in debug trap exception handler
. introduce MF_STEP that makes arch-specific code
  turn on trace bit instead of setting TRACEBIT directly,
  a bit more arch-friendly and avoids keeping precious
  state in per-process PSW arch-dependently

11 years agovm: restore stacktrace on SIGSEGV
Ben Gras [Fri, 4 Jan 2013 18:30:12 +0000 (18:30 +0000)]
vm: restore stacktrace on SIGSEGV

11 years agokernel: separate state for trace-deferred syscalls
Ben Gras [Fri, 4 Jan 2013 17:14:31 +0000 (17:14 +0000)]
kernel: separate state for trace-deferred syscalls

state is usually not in p_reg any more with sysenter/syscall trap entries,
so when saving/restarting do_ipc invocations the state has to be remembered
explicitly.

11 years agokernel: restore setting KTS_NONE
Ben Gras [Fri, 4 Jan 2013 14:58:12 +0000 (14:58 +0000)]
kernel: restore setting KTS_NONE

The 'trap style' variable records how a process has trapped into the
kernel (hardware/software interrupt, or one of the other trap
instructions). KTS_NONE indicates the process isn't trapped into the
kernel at all and is useful for sanity checking. The KTS_NONE reset was
inadvertently removed while removing some debugging code and this commit
restores it.

11 years agokernel:add a some information in backtraces. 58/158/2
Kees Jongenburger [Wed, 2 Jan 2013 15:54:00 +0000 (16:54 +0100)]
kernel:add a some information in backtraces.

* Display the pid and process name in the backtrace as we can
currently not read stackframes.

Change-Id: I2435d4098553c5b02adfe36f08b5aa3f47e9b531

11 years agovm:enable the instruction and data caches. 57/157/2
Kees Jongenburger [Wed, 2 Jan 2013 16:50:11 +0000 (17:50 +0100)]
vm:enable the instruction and data caches.

Enable the instruction and data caches. Whether data is cached
will depend on the MMU entries.

Change-Id: I51e9ebc38924db5525d4e7ad9ab69b2a5b1ca7b4

11 years agotest:update tests to fix compiler warnings. 65/165/1
Kees Jongenburger [Mon, 7 Jan 2013 16:19:30 +0000 (17:19 +0100)]
test:update tests to fix compiler warnings.

Change-Id: Id2c757f61fe5e8b52dffadfeb129024625c76f48

11 years agokernel: restore stacktraces
Ben Gras [Fri, 4 Jan 2013 18:26:10 +0000 (18:26 +0000)]
kernel: restore stacktraces

When processes have entered the kernel with one of the new
trap modes, %ebp is not valid, used for stacktraces, so we
need an alternative way to retrieve it to make the stacktraces
valid again.

11 years agovfs:fix for variable 'rfp' set but not used. 56/156/2
Kees Jongenburger [Wed, 2 Jan 2013 16:33:16 +0000 (17:33 +0100)]
vfs:fix for variable 'rfp' set but not used.

mount.c: In function 'mount_pfs':
mount.c:395:17: error: variable 'rfp' set but not used [-Werror=unused-but-set-variable]

Change-Id: I2f22590ab4e3a4a1678e9096626ebca53d2660e6

11 years agovm: Fix sparepage resource leak. 54/154/2
Kees Jongenburger [Mon, 31 Dec 2012 17:43:25 +0000 (17:43 +0000)]
vm: Fix sparepage resource leak.

Fix a sparepage resource leak by preventing to call
vm_getsparepage twice.

Change-Id: I06557d47b90a7cca74e0a86921c2579f9618685d

11 years agounstack - fix ipcvecs
Ben Gras [Fri, 4 Jan 2013 16:17:07 +0000 (16:17 +0000)]
unstack - fix ipcvecs

11 years agounstack: add shared libraries symbols
Ben Gras [Thu, 3 Jan 2013 21:32:14 +0000 (21:32 +0000)]
unstack: add shared libraries symbols

11 years agolibexec exec fix
Ben Gras [Sat, 29 Dec 2012 00:55:49 +0000 (00:55 +0000)]
libexec exec fix

. restores executing shell scripts without explicit interpreter

11 years agoinclude: reduce default stack size
Ben Gras [Mon, 24 Dec 2012 13:25:06 +0000 (13:25 +0000)]
include: reduce default stack size

11 years agokernel: vm kernel call can't suspend
Ben Gras [Fri, 21 Dec 2012 23:27:23 +0000 (23:27 +0000)]
kernel: vm kernel call can't suspend

11 years agokernel debug: priv can be NULL early on
Ben Gras [Fri, 21 Dec 2012 23:26:48 +0000 (23:26 +0000)]
kernel debug: priv can be NULL early on

11 years agovm: replace phys avl by array
Ben Gras [Mon, 17 Dec 2012 18:26:52 +0000 (18:26 +0000)]
vm: replace phys avl by array

 . make vm be able to use malloc() by overriding brk()
   and minix_mmap() functions
 . phys regions can then be malloc()ed and free()d instead
   of being in an avl tree, which is slightly faster
 . 'offset' field in phys_region can go too (offset is implied
   by position in array) but leads to bigger code changes

11 years agoRemoving warning about OSNAME.
Lionel Sambuc [Tue, 11 Dec 2012 13:44:51 +0000 (14:44 +0100)]
Removing warning about OSNAME.

Change-Id: I224105bee39ea24ecee031832dd4a059ddf2112a