]> Zhao Yanbai Git Server - minix.git/log
minix.git
14 years agodebugging - printing processes on serial
Tomas Hruby [Mon, 3 May 2010 17:37:18 +0000 (17:37 +0000)]
debugging - printing processes on serial

- this patch moves the former printslot() from arch_system.c to
  debug.c and reimplements it slightly. The output is not changed,
  however, the process information is printed in a separate function
  print_proc() in debug.c as such a function is also handy in other
  situations and should be publicly available when debugging.

14 years ago- Add test52 to test FPU context switching
Thomas Veerman [Mon, 3 May 2010 15:12:39 +0000 (15:12 +0000)]
- Add test52 to test FPU context switching
- Make test/run count how many tests it's going to perform instead of having to
  manually update it ourselves.

14 years agoPut the munmap and munmap_text trampolines in a separate .S file, so that they can...
Kees van Reeuwijk [Thu, 29 Apr 2010 20:12:56 +0000 (20:12 +0000)]
Put the munmap and munmap_text trampolines in a separate .S file, so that they can be overridden independenly of mmap.

14 years agoMake mdb compile in other places than just /usr/src.
Kees van Reeuwijk [Thu, 29 Apr 2010 20:05:01 +0000 (20:05 +0000)]
Make mdb compile in other places than just /usr/src.

14 years agocpufeature() - rename _SSEx and correct logic in cpufeature() in lib
Ben Gras [Thu, 29 Apr 2010 19:08:49 +0000 (19:08 +0000)]
cpufeature() - rename _SSEx and correct logic in cpufeature() in lib

14 years agoAllow loading images > 16M
Erik van der Kouwe [Thu, 29 Apr 2010 15:14:07 +0000 (15:14 +0000)]
Allow loading images > 16M

14 years agokernel: more diagnostics for privctl ENOMEM conditions.
Ben Gras [Thu, 29 Apr 2010 08:50:52 +0000 (08:50 +0000)]
kernel: more diagnostics for privctl ENOMEM conditions.

14 years agors: stacktrace if system process exits early.
Ben Gras [Thu, 29 Apr 2010 08:50:17 +0000 (08:50 +0000)]
rs: stacktrace if system process exits early.

14 years agoDon't panic when out of priv structures.
Cristiano Giuffrida [Wed, 28 Apr 2010 20:41:23 +0000 (20:41 +0000)]
Don't panic when out of priv structures.

14 years agoFix wrong word
Erik van der Kouwe [Wed, 28 Apr 2010 20:37:08 +0000 (20:37 +0000)]
Fix wrong word

14 years agoat_wini: remove unnecessary quirks debug message
Ben Gras [Wed, 28 Apr 2010 14:19:40 +0000 (14:19 +0000)]
at_wini: remove unnecessary quirks debug message

14 years agokernel: fpu_init: only enable OSXMMEXCPT in CR4 on at least SSE1 machines.
Ben Gras [Wed, 28 Apr 2010 13:51:02 +0000 (13:51 +0000)]
kernel: fpu_init: only enable OSXMMEXCPT in CR4 on at least SSE1 machines.

Found and debugged by totalinux at yandex.ru and Evgeniy Ivanov, thanks!

14 years agokernel: fpu init to separate function; also move fpu init down
Ben Gras [Wed, 28 Apr 2010 13:25:29 +0000 (13:25 +0000)]
kernel: fpu init to separate function; also move fpu init down

moving the fpu code causes exceptions raised by it to be trapped
neatly instead of causing a triple fault, before the IDT is initialized.

14 years agoScan all processes for that might be blocked on a lock
Thomas Veerman [Wed, 28 Apr 2010 11:54:22 +0000 (11:54 +0000)]
Scan all processes for that might be blocked on a lock

14 years agoat_wini: more general system to allow devices that behave like ata controllers.
Ben Gras [Wed, 28 Apr 2010 11:52:28 +0000 (11:52 +0000)]
at_wini: more general system to allow devices that behave like ata controllers.

(let silicon image sata controller that is pci class 1, subclass 0x80,
but works as a sata controller, work as such.)

14 years agopci: don't do sanity check for missing pci bus, the check can misfire.
Ben Gras [Wed, 28 Apr 2010 11:51:13 +0000 (11:51 +0000)]
pci: don't do sanity check for missing pci bus, the check can misfire.

14 years agotty: try more often to get the config byte.
Ben Gras [Wed, 28 Apr 2010 11:50:54 +0000 (11:50 +0000)]
tty: try more often to get the config byte.

14 years agoAvoid sbrk (in favour of malloc) in RS where possible
Erik van der Kouwe [Wed, 28 Apr 2010 08:35:54 +0000 (08:35 +0000)]
Avoid sbrk (in favour of malloc) in RS where possible

14 years agoFix types in debug register functions
Erik van der Kouwe [Wed, 28 Apr 2010 08:35:05 +0000 (08:35 +0000)]
Fix types in debug register functions

14 years agoEnable malloc assertions
Erik van der Kouwe [Wed, 28 Apr 2010 08:34:19 +0000 (08:34 +0000)]
Enable malloc assertions

14 years agoAdd timeout for test 7 to indicate which test (if any) hangs
Erik van der Kouwe [Wed, 28 Apr 2010 08:33:23 +0000 (08:33 +0000)]
Add timeout for test 7 to indicate which test (if any) hangs

14 years agopagefault() is private
Tomas Hruby [Tue, 27 Apr 2010 20:30:33 +0000 (20:30 +0000)]
pagefault() is private

14 years agomtree: no more /lib and /lib/i386.
Ben Gras [Tue, 27 Apr 2010 13:44:48 +0000 (13:44 +0000)]
mtree: no more /lib and /lib/i386.

14 years agoAdd missing newline at end of file
Erik van der Kouwe [Tue, 27 Apr 2010 13:30:46 +0000 (13:30 +0000)]
Add missing newline at end of file

14 years agoRemove debug printfs in breakpoints.c, they should never have been there
Erik van der Kouwe [Tue, 27 Apr 2010 12:25:04 +0000 (12:25 +0000)]
Remove debug printfs in breakpoints.c, they should never have been there

14 years agoUnified crash recovery and live update.
Cristiano Giuffrida [Tue, 27 Apr 2010 11:17:30 +0000 (11:17 +0000)]
Unified crash recovery and live update.

RS CHANGES:
- Crash recovery is now implemented like live update. Two instances are kept
side by side and the dead version is live updated into the new one. The endpoint
doesn't change and the failure is not exposed (by default) to other system
services.
- The new instance can be created reactively (when a crash is detected) or
proactively. In the latter case, RS can be instructed to keep a replica of
the system service to perform a hot swap when the service fails. The flag
SF_USE_REPL is set in that case.
- The new flag SF_USE_REPL is supported for services in the boot image and
dynamically started services through the RS interface (i.e. -p option in the
service utility).
- Fixed a free unallocated memory bug for core system services.

14 years agoRemoved unused prototype
Tomas Hruby [Mon, 26 Apr 2010 23:39:05 +0000 (23:39 +0000)]
Removed unused prototype

14 years agoChanged pagefault delivery to VM
Tomas Hruby [Mon, 26 Apr 2010 23:21:26 +0000 (23:21 +0000)]
Changed pagefault delivery to VM

this patch changes the way pagefaults are delivered to VM. It adopts
the same model as the out-of-quantum messages sent by kernel to a
scheduler.

- everytime a userspace pagefault occurs, kernel creates a message
  which is sent to VM on behalf of the faulting process

- the process is blocked on delivery to VM in the standard IPC code
  instead of waiting in a spacial in-kernel queue (stack) and is not
  runnable until VM tell kernel that the pagefault is resolved and is
  free to clear the RTS_PAGEFAULT flag.

- VM does not need call kernel and poll the pagefault information
  which saves many (1/2?) calls and kernel calls that return "no more
  data"

- VM notification by kernel does not need to use signals

- each entry in proc table is by 12 bytes smaller (~3k save)

14 years agocd boot workaround for bioses that didn't want to boot >4 image sectors.
Ben Gras [Mon, 26 Apr 2010 22:07:21 +0000 (22:07 +0000)]
cd boot workaround for bioses that didn't want to boot >4 image sectors.

boot is a normal binary with a.out again. use 'cdbootblock,' a CDBOOT
variant of bootblock, both from bootblock.s, as the first boot image
that then loads boot, exactly like the bootblock loads boot when booting
from harddisk. the sector numbers (2048 byte iso sectors) are patched in
by writeisofs, like installboot does for bootblock. bootblock unchanged.

14 years agovfs: start at vmnt[0] to sync mounted filesystems, not vmnt[1].
Ben Gras [Mon, 26 Apr 2010 17:12:34 +0000 (17:12 +0000)]
vfs: start at vmnt[0] to sync mounted filesystems, not vmnt[1].

14 years agoremove intr_disabled() as interrupts are always disabled in the kernel now.
Ben Gras [Mon, 26 Apr 2010 15:32:42 +0000 (15:32 +0000)]
remove intr_disabled() as interrupts are always disabled in the kernel now.

14 years agoFixed printf warning in the filter driver
Tomas Hruby [Mon, 26 Apr 2010 14:44:20 +0000 (14:44 +0000)]
Fixed printf warning in the filter driver

14 years agoSet IPC status code only for RECEIVE
Cristiano Giuffrida [Mon, 26 Apr 2010 14:43:59 +0000 (14:43 +0000)]
Set IPC status code only for RECEIVE

14 years agoRemove a redundant getdomainname() implementation.
Kees van Reeuwijk [Mon, 26 Apr 2010 12:43:43 +0000 (12:43 +0000)]
Remove a redundant getdomainname() implementation.

14 years agointercept puts() in libsys, for gcc
David van Moolenbroek [Fri, 23 Apr 2010 20:23:33 +0000 (20:23 +0000)]
intercept puts() in libsys, for gcc

14 years agofix make(1) error output
David van Moolenbroek [Fri, 23 Apr 2010 12:04:48 +0000 (12:04 +0000)]
fix make(1) error output

14 years agoAlso remove awk.old from makefile.
Kees van Reeuwijk [Thu, 22 Apr 2010 14:18:35 +0000 (14:18 +0000)]
Also remove awk.old from makefile.

14 years agoFix some compilation errors with the gcc compiler, fix some recent warnings.
Kees van Reeuwijk [Thu, 22 Apr 2010 13:59:34 +0000 (13:59 +0000)]
Fix some compilation errors with the gcc compiler, fix some recent warnings.

14 years agoRemove obsolete implementation of awk.
Kees van Reeuwijk [Thu, 22 Apr 2010 13:41:35 +0000 (13:41 +0000)]
Remove obsolete implementation of awk.

14 years agoRemove useless symbol declarations from headers, make symbols local where possible...
Kees van Reeuwijk [Thu, 22 Apr 2010 07:49:40 +0000 (07:49 +0000)]
Remove useless symbol declarations from headers, make symbols local where possible, add some explicit initialization to global variables.

14 years agoMore accurate make rule.
Kees van Reeuwijk [Wed, 21 Apr 2010 14:41:20 +0000 (14:41 +0000)]
More accurate make rule.

14 years agoRemove U16_t and most other similar types. Rewrite functions to ansi-style
Kees van Reeuwijk [Wed, 21 Apr 2010 11:05:22 +0000 (11:05 +0000)]
Remove U16_t and most other similar types. Rewrite functions to ansi-style
declaration if necessary.

14 years agoForgot to add two new files to SVN.
Kees van Reeuwijk [Tue, 20 Apr 2010 07:17:03 +0000 (07:17 +0000)]
Forgot to add two new files to SVN.

14 years agoAdd some support for wchar_t.
Kees van Reeuwijk [Mon, 19 Apr 2010 15:20:24 +0000 (15:20 +0000)]
Add some support for wchar_t.

14 years agoCode cleanup: remove unused #include, variables and code,
Kees van Reeuwijk [Thu, 15 Apr 2010 18:49:36 +0000 (18:49 +0000)]
Code cleanup: remove unused #include, variables and code,

14 years agofix mfs/isofs signal handling
David van Moolenbroek [Thu, 15 Apr 2010 16:10:28 +0000 (16:10 +0000)]
fix mfs/isofs signal handling

14 years agoAdd scancode reading capability to TTY
Erik van der Kouwe [Thu, 15 Apr 2010 07:08:04 +0000 (07:08 +0000)]
Add scancode reading capability to TTY

14 years agoAdd scancode reading capability to TTY
Erik van der Kouwe [Thu, 15 Apr 2010 06:55:42 +0000 (06:55 +0000)]
Add scancode reading capability to TTY

14 years agoAdd scancode reading capability to TTY
Erik van der Kouwe [Thu, 15 Apr 2010 06:55:32 +0000 (06:55 +0000)]
Add scancode reading capability to TTY

14 years agoAdd timerisclear() macro.
Kees van Reeuwijk [Wed, 14 Apr 2010 17:51:39 +0000 (17:51 +0000)]
Add timerisclear() macro.

14 years agounbreak _open for gcc-compiled programs
David van Moolenbroek [Wed, 14 Apr 2010 11:07:49 +0000 (11:07 +0000)]
unbreak _open for gcc-compiled programs

14 years agoProvide information on lethal signals (stacktrace and signo)
Erik van der Kouwe [Wed, 14 Apr 2010 09:06:34 +0000 (09:06 +0000)]
Provide information on lethal signals (stacktrace and signo)

14 years agoRemove some duplicate declarations in headers.
Kees van Reeuwijk [Tue, 13 Apr 2010 15:22:38 +0000 (15:22 +0000)]
Remove some duplicate declarations in headers.
Explicitly declare some functions as returning void.

14 years agovm: util.S not used currently; leave it out.
Ben Gras [Tue, 13 Apr 2010 15:02:32 +0000 (15:02 +0000)]
vm: util.S not used currently; leave it out.

14 years agovm: include no-caching bits in PTF_ALLFLAGS for flags sanity check.
Ben Gras [Tue, 13 Apr 2010 11:08:08 +0000 (11:08 +0000)]
vm: include no-caching bits in PTF_ALLFLAGS for flags sanity check.

14 years agovm: don't force physical addresses to be nonzero.
Ben Gras [Tue, 13 Apr 2010 11:01:40 +0000 (11:01 +0000)]
vm: don't force physical addresses to be nonzero.

14 years agoRemove the types Dev_t, _mnx_Gui, _mnx_Uid, and similar.
Kees van Reeuwijk [Tue, 13 Apr 2010 10:58:41 +0000 (10:58 +0000)]
Remove the types Dev_t, _mnx_Gui, _mnx_Uid, and similar.
Use ANSI-style function declarations where necessary.

14 years agoPM remembers what it should schedule
Tomas Hruby [Tue, 13 Apr 2010 10:45:08 +0000 (10:45 +0000)]
PM remembers what it should schedule

- while PM implements fork also for RS it needs to remember what to
  schedule and what not. PM_SCHEDULED flag serves this purpose.

- PM only schedules processes that are descendaints of init, i.e. normal
  user processes

- after a process is forked PM schedules for the first time only
  processes that have PM_SCHEDULED set. The others are handled iether
  by kernel or some other scheduler

14 years agovm: remove assert, map in of phys addr 0 is legit sometimes.
Ben Gras [Tue, 13 Apr 2010 10:39:46 +0000 (10:39 +0000)]
vm: remove assert, map in of phys addr 0 is legit sometimes.

14 years agoFix date in UPDATING
Erik van der Kouwe [Mon, 12 Apr 2010 17:56:07 +0000 (17:56 +0000)]
Fix date in UPDATING

14 years agovm: use assert() instead of vm_assert(); remove vm_assert().
Ben Gras [Mon, 12 Apr 2010 12:37:28 +0000 (12:37 +0000)]
vm: use assert() instead of vm_assert(); remove vm_assert().

14 years agolet vm use physically fragmented memory for allocations.
Ben Gras [Mon, 12 Apr 2010 11:25:24 +0000 (11:25 +0000)]
let vm use physically fragmented memory for allocations.

map_copy_ph_block is replaced by map_clone_ph_block, which can
replace a single physical block by multiple physical blocks.

also,
 . merge map_mem.c with region.c, as they manipulate the same
   data structures
 . NOTRUNNABLE removed as sanity check
 . use direct functions for ALLOC_MEM and FREE_MEM again
 . add some checks to shared memory mapping code
 . fix for data structure integrity when using shared memory
 . fix sanity checks

14 years agoipc server: don't print as many errors, to make ipc test less noisy.
Ben Gras [Mon, 12 Apr 2010 11:06:15 +0000 (11:06 +0000)]
ipc server: don't print as many errors, to make ipc test less noisy.

14 years agoFixed escape warning.
Cristiano Giuffrida [Mon, 12 Apr 2010 08:39:59 +0000 (08:39 +0000)]
Fixed escape warning.

14 years agoQuantum in fork
Tomas Hruby [Sat, 10 Apr 2010 15:27:38 +0000 (15:27 +0000)]
Quantum in fork

- This patch removes the time slice split between parent and child in
  fork.

- The time slice of the parent remains unchanged and the child does
  not have any.

- If the process has a scheduler, the scheduler must assign the
  quantum and priority of the new process and let it run.

- If the child does not inherit a scheduler, it is scheduled by the
  dummy default kernel policy. (servers, drivers, etc.)

- In theory, the scheduler can change the quantum even of the parent
  process and implement any policy for splitting the quantum as
  neither the parent nor the child are runnable.  Sending the
  out-of_quantum message on behalf of the processes may look like the
  right solution, however, the scheduler would probably handle the
  message before the whole fork protocol is finished. This way the
  scheduler has absolute control when the process should become
  runnable.

14 years agoRestructure and simplyfycation of the scheduling code in PM a little bit.
Tomas Hruby [Sat, 10 Apr 2010 15:24:49 +0000 (15:24 +0000)]
Restructure and simplyfycation of the scheduling code in PM a little bit.

- It introduces schedule_process() which makes a kernel call to set
  the scheduling parameters of a process. It is used in the next patch.

14 years agoThis tiny cleanup makes the naming a variables in createpde() more clear.
Tomas Hruby [Sat, 10 Apr 2010 15:22:41 +0000 (15:22 +0000)]
This tiny cleanup makes the naming a variables in createpde() more clear.

14 years agoA simpler test whether to use kernel's default scheduling
Tomas Hruby [Sat, 10 Apr 2010 15:19:25 +0000 (15:19 +0000)]
A simpler test whether to use kernel's default scheduling

- this is a small addition to the userspace scheduling.
  proc_kernel_scheduler() tests whether to use the default scheduling
  policy in kernel. It is true if the process' scheduler is NULL _or_
  self. Currently none of the tests was complete.

14 years agodo_schedule() cleanup
Tomas Hruby [Sat, 10 Apr 2010 15:17:09 +0000 (15:17 +0000)]
do_schedule() cleanup

- it is not neccessary to test whether the scheduler is a system
  process as the process already head permissions to make this call.

- it is better to test whether the scheduler has permission to make
  changes to this process before testing whether the values are valid.

14 years agoDriver mapping refactory.
Cristiano Giuffrida [Fri, 9 Apr 2010 21:56:44 +0000 (21:56 +0000)]
Driver mapping refactory.

VFS CHANGES:
- dmap table no longer statically initialized in VFS
- Dropped FSSIGNON svrctl call no longer used by INET

INET CHANGES:
- INET announces its presence to VFS just like any other driver

RS CHANGES:
- The boot image dev table contains all the data to initialize VFS' dmap table
- RS interface supports asynchronous up and update operations now
- RS interface extended to support driver style and flags

14 years agoport of netbsd's tr
Ben Gras [Thu, 8 Apr 2010 15:08:31 +0000 (15:08 +0000)]
port of netbsd's tr

14 years agonetbsd's original tr/extern.h as tr.h
Ben Gras [Thu, 8 Apr 2010 15:06:43 +0000 (15:06 +0000)]
netbsd's original tr/extern.h as tr.h

14 years agooriginal netbsd's tr(1)
Ben Gras [Thu, 8 Apr 2010 15:04:57 +0000 (15:04 +0000)]
original netbsd's tr(1)

14 years agono minix tr
Ben Gras [Thu, 8 Apr 2010 15:04:05 +0000 (15:04 +0000)]
no minix tr

14 years agoFixed gcc -Wall warnings.
Cristiano Giuffrida [Thu, 8 Apr 2010 15:02:32 +0000 (15:02 +0000)]
Fixed gcc -Wall warnings.

14 years agoisblank() implementation.
Ben Gras [Thu, 8 Apr 2010 15:00:25 +0000 (15:00 +0000)]
isblank() implementation.

14 years agoDriver refactory for live update and crash recovery.
Cristiano Giuffrida [Thu, 8 Apr 2010 13:41:35 +0000 (13:41 +0000)]
Driver refactory for live update and crash recovery.

SYSLIB CHANGES:
- DS calls to publish / retrieve labels consider endpoints instead of u32_t.

VFS CHANGES:
- mapdriver() only adds an entry in the dmap table in VFS.
- dev_up() is only executed upon reception of a driver up event.

INET CHANGES:
- INET no longer searches for existing drivers instances at startup.
- A newtwork driver is (re)initialized upon reception of a driver up event.
- Networking startup is now race-free by design. No need to waste 5 seconds
at startup any more.

DRIVER CHANGES:
- Every driver publishes driver up events when starting for the first time or
in case of restart when recovery actions must be taken in the upper layers.
- Driver up events are published by drivers through DS.
- For regular drivers, VFS is normally the only subscriber, but not necessarily.
For instance, when the filter driver is in use, it must subscribe to driver
up events to initiate recovery.
- For network drivers, inet is the only subscriber for now.
- Every VFS driver is statically linked with libdriver, every network driver
is statically linked with libnetdriver.

DRIVER LIBRARIES CHANGES:
- Libdriver is extended to provide generic receive() and ds_publish() interfaces
for VFS drivers.
- driver_receive() is a wrapper for sef_receive() also used in driver_task()
to discard spurious messages that were meant to be delivered to a previous
version of the driver.
- driver_receive_mq() is the same as driver_receive() but integrates support
for queued messages.
- driver_announce() publishes a driver up event for VFS drivers and marks
the driver as initialized and expecting a DEV_OPEN message.
- Libnetdriver is introduced to provide similar receive() and ds_publish()
interfaces for network drivers (netdriver_announce() and netdriver_receive()).
- Network drivers all support live update with no state transfer now.

KERNEL CHANGES:
- Added kernel call statectl for state management. Used by driver_announce() to
unblock eventual callers sendrecing to the driver.

14 years agoipc test improvements
Ben Gras [Thu, 8 Apr 2010 13:11:37 +0000 (13:11 +0000)]
ipc test improvements

 . rename testshm.sh to test.sh so all test scripts are called test.sh
 . delete msg* tests as msg* functionality isn't implemented
 . add ipc/test.sh that runs all test.sh scripts in the subdirs

14 years agomore stack for boot
Ben Gras [Thu, 8 Apr 2010 12:18:57 +0000 (12:18 +0000)]
more stack for boot

14 years agoRename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t,
Kees van Reeuwijk [Wed, 7 Apr 2010 13:35:56 +0000 (13:35 +0000)]
Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t,
Remove all uses of U16_t and U32_t in pci-related code.
If necessary to avoid problems, change functions to ansi-style declaration.

14 years agoFixed a panic message
Tomas Hruby [Wed, 7 Apr 2010 12:50:43 +0000 (12:50 +0000)]
Fixed a panic message

- exceptions cannot occur in kernel tasks as we don't have kernel
  tasks anymore

14 years agoRemoved unused variables, added const where possible.
Kees van Reeuwijk [Wed, 7 Apr 2010 11:25:51 +0000 (11:25 +0000)]
Removed unused variables, added const where possible.

14 years agoA fixed prototype in dec21140A.c
Tomas Hruby [Wed, 7 Apr 2010 07:50:44 +0000 (07:50 +0000)]
A fixed prototype in dec21140A.c

14 years agodo_nice.c
Tomas Hruby [Tue, 6 Apr 2010 13:44:03 +0000 (13:44 +0000)]
do_nice.c

- this file is not used and should have been remove in r6557

14 years agoSmall fixes
Tomas Hruby [Tue, 6 Apr 2010 11:29:31 +0000 (11:29 +0000)]
Small fixes

- do_sync_ipc() is private

- fixed typo in a comment

14 years agodo_ipc() rearrangements
Tomas Hruby [Tue, 6 Apr 2010 11:24:26 +0000 (11:24 +0000)]
do_ipc() rearrangements

this patch does not add or change any functionality of do_ipc(), it
only makes things a little cleaner (hopefully).

Until now do_ipc() was responsible for handling all ipc calls. The
catch is that SENDA is fairly different which results in some ugly
code like this typecasting and variables naming which does not make
much sense for SENDA and makes the code hard to read.

result = mini_senda(caller_ptr, (asynmsg_t *)m_ptr, (size_t)src_dst_e);

As it is called directly from assembly, the new do_ipc() takes as
input values of 3 registers in reg_t variables (it used to be 4,
however, bit_map wasn't used so I removed it), does the checks common
to all ipc calls and call the appropriate handler either for
do_sync_ipc() (all except SENDA) or mini_senda() (for SENDA) while
typecasting the reg_t values correctly. As a result, handling SENDA
differences in do_sync_ipc() is no more needed. Also the code that
uses msg_size variable is improved a little bit.

arch_do_syscall() is simplified too.

14 years agoRTS_SYS_LOCK and do_runctl()
Tomas Hruby [Tue, 6 Apr 2010 11:18:04 +0000 (11:18 +0000)]
RTS_SYS_LOCK and do_runctl()

- No need for RTS_SYS_LOCK as there are no tasks anymore.

14 years agodo_vtimer()
Tomas Hruby [Tue, 6 Apr 2010 11:16:14 +0000 (11:16 +0000)]
do_vtimer()

- removed comment which is not true anymore as we don't have any
  tasks. No need to take any special measures.

14 years agoConvert kernel over to bsdmake
Arun Thomas [Thu, 1 Apr 2010 22:22:33 +0000 (22:22 +0000)]
Convert kernel over to bsdmake

14 years agoFixed some incorrect uses of printf-like functions.
Kees van Reeuwijk [Thu, 1 Apr 2010 14:30:36 +0000 (14:30 +0000)]
Fixed some incorrect uses of printf-like functions.

14 years agoFix printfs with too few or too many parms, remove unused vars, fix incorrect flag...
Kees van Reeuwijk [Thu, 1 Apr 2010 13:25:05 +0000 (13:25 +0000)]
Fix printfs with too few or too many parms, remove unused vars, fix incorrect flag tests, other code cleanup.

14 years agoLots of const correctness, other cleanup.
Kees van Reeuwijk [Thu, 1 Apr 2010 12:51:31 +0000 (12:51 +0000)]
Lots of const correctness, other cleanup.

14 years agointroduce the fsckopts sysenv, options passed to fsck by /etc/rc.
Ben Gras [Wed, 31 Mar 2010 15:06:53 +0000 (15:06 +0000)]
introduce the fsckopts sysenv, options passed to fsck by /etc/rc.

setting 'fsckopts=-a' makes it much easier to work on a minix machine
remotely and reboot after a crash.

14 years agoonly print 'PCI: ignoring bad value ...' once per boot.
Ben Gras [Wed, 31 Mar 2010 12:29:30 +0000 (12:29 +0000)]
only print 'PCI: ignoring bad value ...' once per boot.

14 years agoMove kernel signal SIGKNDELAY to system signal SIGSNDELAY and fix broken ptrace.
Cristiano Giuffrida [Wed, 31 Mar 2010 08:55:12 +0000 (08:55 +0000)]
Move kernel signal SIGKNDELAY to system signal SIGSNDELAY and fix broken ptrace.

14 years agoMove allocation of temporary inodes for cloned character special devices from
Thomas Veerman [Tue, 30 Mar 2010 15:00:09 +0000 (15:00 +0000)]
Move allocation of temporary inodes for cloned character special devices from
MFS to PFS.

14 years agoMore use of endpoint_t. Other code cleanup.
Kees van Reeuwijk [Tue, 30 Mar 2010 14:07:15 +0000 (14:07 +0000)]
More use of endpoint_t. Other code cleanup.

14 years agoFixed missing __UNCONST macro definition in previous patch.
Lorenzo Cavallaro [Tue, 30 Mar 2010 13:08:14 +0000 (13:08 +0000)]
Fixed missing __UNCONST macro definition in previous patch.

14 years agocdecl calling convention requires to push arguments on the stack in a
Lorenzo Cavallaro [Tue, 30 Mar 2010 09:36:46 +0000 (09:36 +0000)]
cdecl calling convention requires to push arguments on the stack in a
reverse order to easily support variadic arguments. Thus, instead of
using the proper stdarg.h macros (that nowadays are
compiler-dependent), it may be tempting to directly take the address of
the last argument and considering it as the start of an array. This is
a shortcut that avoid looping to get all the arguments as the CPU
already pushed them on the stack before the call to the function.

Unfortunately, such an assumption is strictly compiler-dependent and
compilers are free to move the last argument on the stack, as a local
variable, and return the address of the location where the argument was
stored, if asked for. This will break things as the rest of the array's
argument are stored elsewhere (typically, a couple of words above the
location where the argument was stored).

This patch fixes the issue by allowing ACK to take the shortcut and
enabling gcc/llvm-gcc to follow the right way.

14 years agoFixed brackets in bitmap macros
Tomas Hruby [Tue, 30 Mar 2010 08:34:33 +0000 (08:34 +0000)]
Fixed brackets in bitmap macros