David van Moolenbroek
5d8d5e0c3a
change bitchunk_t from 16-bit to 32-bit
2010-12-21 10:44:45 +00:00
Ben Gras
f0f34dd8d9
vfs - use a static buffer instead of malloc()+free(), solving
...
recently appeared ENOMEM problems during exec().
2010-12-15 14:43:59 +00:00
Arun Thomas
372b873413
VFS/RS support for ELF
2010-12-10 09:27:56 +00:00
David van Moolenbroek
9639af49d2
RS: fix IPC privilege computation bug
...
Take into account the ALL and ALL_SYS cases when constructing proper
symmetrical IPC send masks. Fix system.conf accordingly, to keep
userland processes from sending to several non-interface servers and
drivers. Also fix IS's F4 formatting.
2010-12-08 14:54:08 +00:00
David van Moolenbroek
7bef45ad3b
system.conf: base ipc permissions on process names rather than labels
...
From now on, the "ipc" directive in system.conf refers to process names
instead of labels, similar to the "control" directive. The old, more
fine-grained approach is deemed unnecessary and cumbersome at this time.
As side effects, this patch unbreaks late IPC permission computation as
well as the filter driver.
2010-12-07 12:16:31 +00:00
David van Moolenbroek
a7285dfabc
Kernel/RS: fix permission computation with 32+ system processes
2010-12-07 10:32:42 +00:00
David van Moolenbroek
6bf3c91a0a
RS: do not restart file systems
2010-12-03 13:19:15 +00:00
Arun Thomas
cc26fb5ec4
vfs: terminate string in rdlink_direct
...
Fixes test56 when compiled with GCC.
2010-12-01 16:24:50 +00:00
Dirk Vogt
5e1e763506
removed unneeded global var
2010-11-24 16:30:13 +00:00
Dirk Vogt
46ec37365e
don't send FS_READY anymore
2010-11-24 16:29:50 +00:00
Dirk Vogt
9ed280d1ec
decouple file system server start/termination from mount/umount
2010-11-23 19:34:56 +00:00
Arun Thomas
8173242e01
Remove redundant sha2 code from inet
2010-11-15 11:10:02 +00:00
Arun Thomas
f0ab18377d
GCC/clang: int64 routines in C
2010-11-12 18:38:10 +00:00
Tomas Hruby
3c6274b8be
/proc/cpuinfo
...
- when /proc/cpuinfo is read procfs retrievs information about cpus
from the kernel, formats it and prints it
2010-10-26 21:08:00 +00:00
Tomas Hruby
de1bcaa69a
VM implicitly aligns mappings to a page
...
- problem when a PCI BAR is not aligned
- together with David v. Moolenboek
2010-10-21 17:07:05 +00:00
Ben Gras
ddde360e3e
vm - hash table for block cache
2010-10-15 09:10:14 +00:00
Ben Gras
cb2e3a98a2
vm - fix for not placing region outside requested mmap addr
2010-10-15 09:09:29 +00:00
Ben Gras
b653422883
mfs - no more WRITE_IMMED
2010-10-11 15:35:43 +00:00
Erik van der Kouwe
9235536f38
Fix select-related bugs: missing cancellations led to potentially forgetting notifies, especially in the case of async drivers
2010-10-08 12:50:52 +00:00
Ben Gras
a3f2df124c
vm optimisation - maintain hint for new virtual region position.
2010-10-07 10:04:05 +00:00
Ben Gras
e2570d9b1b
vm: optimisation: avl tree for virtual regions
...
- regions were preivous stored in a linked list, as 'normally'
there are just 2 or 3 (text, data, stack), but that's slow
if lots of regions are made with mmap()
- measurable performance improvement with gcc and clang
2010-10-04 11:41:10 +00:00
Ben Gras
36189370a5
vm: don't check the range of memory during sanity checking
...
- too many false positives due to memory that is mapped in
legitimately (acpi, i/o devices)
2010-10-04 11:38:33 +00:00
David van Moolenbroek
3736ce3f55
hgfs: do not return negative file sizes in stat (reported by Antoine Leca)
2010-09-27 13:19:25 +00:00
Tomas Hruby
74c5cd7668
The profile utility can set the sprofiling mode
...
- profile --nmi | --rtc sets the profiling mode
- --rtc is default, uses BIOS RTC, cannot profile kernel the presetted
frequency values apply
- --nmi is only available in APIC mode as it uses the NMI watchdog, -f
allows any frequency in Hz
- both modes use compatible data structures
2010-09-23 10:49:42 +00:00
Thomas Veerman
af73996d51
Fix failing unmount attempt at shutdown after running test58
2010-09-17 09:34:36 +00:00
Tomas Hruby
1f89845bb2
SMP - can boot even if some cpus fail to boot
...
- EBADCPU is returned is scheduler tries to run a process on a CPU
that either does not exist or isn't booted
- this change was originally meant to deal with stupid cpuid
instruction which provides totally useless information about
hyper-threading and MPS which does not deal with ht at all. ACPI
provides correct information. If ht is turned off it looks like some
CPUs failed to boot. Nevertheless this patch may be handy for
testing/benchmarking in the future.
2010-09-15 14:11:21 +00:00
Tomas Hruby
6513d20744
SMP - Process is stopped when VM modifies the page tables
...
- RTS_VMINHIBIT flag is used to stop process while VM is fiddling with
its pagetables
- more generic way of sending synchronous scheduling events among cpus
- do the x-cpu smp sched calls only if the target process is runnable.
If it is not, it cannot be running and it cannot become runnable
this CPU holds the BKL
2010-09-15 14:11:12 +00:00
Tomas Hruby
e87d29171f
SMP - Compiles for both single and multi processor again
...
- this patch adds various fixes as some of the previous patches break
compilations without CONFIG_SMP being set
2010-09-15 14:11:03 +00:00
Tomas Hruby
311f145bc7
SMP - Balancing run queues for SMP
...
- it preempts running processes though :( this is not the final
solution
2010-09-15 14:10:51 +00:00
Tomas Hruby
06b6e5624a
SMP - Changed prototype of sys_schedule()
...
- sys_schedule can change only selected values, -1 means that the
current value should be kept unchanged. For instance we mostly want
to change the scheduling quantum and priority but we want to keep
the process at the current cpu
- RS can hand off its processes to scheduler
- service can read the destination cpu from system.conf
- RS can pass the information farther
2010-09-15 14:10:42 +00:00
Tomas Hruby
1e273f640e
SMP - Scheduler can assign process to a cpu
...
- machine information contains the number of cpus and the bsp id
- a dummy SMP scheduler which keeps all system processes on BSP and
all other process on APs. The scheduler remembers how many processes
are assigned to each CPU and always picks the one with the least
processes for a new process.
2010-09-15 14:10:33 +00:00
David van Moolenbroek
354da24f5b
make getsysinfo() a system-land call
2010-09-14 21:50:05 +00:00
David van Moolenbroek
2c5c5c06ea
ProcFS server, by Alen Stojanov and David van Moolenbroek
2010-09-14 21:25:25 +00:00
David van Moolenbroek
3eb65448a6
VM: expose secondary cache size
2010-09-14 21:22:56 +00:00
David van Moolenbroek
7763fd67c7
PM: save process frame length
2010-09-14 21:21:54 +00:00
David van Moolenbroek
2e209097b6
IS: delete obsolete is.h
2010-09-09 08:47:39 +00:00
Thomas Veerman
0b00cf70b6
- Return ENOENT when trying to add files to removed (but open) directories.
...
- Add test58 to test this behavior.
2010-09-01 09:07:18 +00:00
Erik van der Kouwe
1f2054c89c
Shutdown changes for multiboot: CTRL-ALT-DEL resets, panic halts
2010-08-30 19:01:58 +00:00
Thomas Veerman
e8ddc0f46e
- Add support for file descriptor passing to PFS.
...
- For security reasons move some libc code to PFS.
- Fix a few bugs in PFS.
Contributed by Thomas Cort.
2010-08-30 13:46:44 +00:00
Thomas Veerman
13ef7f1f38
Prepare VFS to support back calls from PFS. For security reasons and to support
...
file descriptor passing, PFS does some back calls to VFS. For example, to
verify the validity of a path provided by a process and to tell VFS it must
copy file descriptors from one process to another.
2010-08-30 13:44:07 +00:00
Ben Gras
5d6c2aae0a
gcov support, based on work contributed by Anton Kuijsten.
2010-08-25 13:06:43 +00:00
David van Moolenbroek
959026c29a
RS: use PM's API instead of its internals
2010-08-24 07:20:41 +00:00
Erik van der Kouwe
3211be5d14
Avoid duplicate type definitions, especially wchar_t which was inconsstent and caused trouble in libarchive
2010-08-23 17:00:04 +00:00
Arun Thomas
de231a713e
Move MIN() and MAX() macros to sys/params.h
2010-08-21 13:10:41 +00:00
Arun Thomas
9a21d1a2fd
Macros for symbols used in both ASM and C
...
-The macros take care of prepending the leading underscore when
necessary.
2010-08-17 16:44:07 +00:00
Thomas Veerman
c8cfcab5db
- Make sure there's space left in the vmnt table for another mount point.
...
- Increase mount point limit.
2010-08-17 10:02:50 +00:00
David van Moolenbroek
46624d640e
hgfs comment fix: inode status, not statistics
2010-08-07 11:50:15 +00:00
Erik van der Kouwe
0fc71a1154
Increase NR_INODES in the FS servers to match NR_VNODES in VFS
2010-08-05 11:37:37 +00:00
Erik van der Kouwe
912b4e0cb7
Return ENOSPC when out of inodes
2010-08-05 11:37:06 +00:00
Thomas Veerman
dff0434eaf
Add support for the ext2 file system. Contributed by Evgeniy Ivanov.
2010-08-02 11:44:45 +00:00
Thomas Veerman
253b4b3fe5
- Add support for ST_NOTRUNC to struct statvfs.
...
- Let tests that test for long file names check for that flag, so that they can
verify the results properly.
2010-08-02 11:16:32 +00:00
David van Moolenbroek
da597227ac
put env_arg[cv] declaration in minix/sysutil.h
2010-07-29 21:16:23 +00:00
Erik van der Kouwe
6dec907191
Shorter reporting of contiguous identical blocks for the IS VM dump (F8) to avoid MFS frrom filling many screens
2010-07-27 18:46:08 +00:00
Erik van der Kouwe
d7c70a41e5
Allow vm to split blocks in memory map (needed for multiboot, contributed by Feiran "Fam" Zheng
2010-07-23 14:22:13 +00:00
Ben Gras
3badab8b70
vfs - split fp_fd field into fd + callnr fields
2010-07-22 14:55:28 +00:00
David van Moolenbroek
220eafe705
inet: a little more resilience against misbehaving drivers
2010-07-21 13:47:50 +00:00
Tomas Hruby
f6f20e1269
Overly restrictive assert
...
- not true if APIC is enabled
2010-07-21 13:46:29 +00:00
Cristiano Giuffrida
7978f9d2f3
Unbreak gcc compilation for pfs.
2010-07-21 13:39:46 +00:00
Cristiano Giuffrida
0824146978
Disable debug info on trunk.
2010-07-21 08:22:24 +00:00
Cristiano Giuffrida
91a83fe265
Crash recovery and live update support for VM.
2010-07-20 23:03:52 +00:00
Cristiano Giuffrida
0d984b36ef
Get rid of static spare pages after VM startup.
2010-07-20 21:59:27 +00:00
Cristiano Giuffrida
40b4e71db2
COW for physically contiguous blocks in VM
2010-07-20 18:57:25 +00:00
Cristiano Giuffrida
1b7d95df29
Generalize interface of some VM functions
2010-07-20 02:08:28 +00:00
Cristiano Giuffrida
af424b4e43
Don't always assume NOPINGREPLY as a failure in RS
2010-07-20 01:50:33 +00:00
Ben Gras
16d0609fad
vm: restore sanity checks in NONCONTIGUOUS case.
2010-07-19 18:20:14 +00:00
Ben Gras
068944de36
vm: add MEMPROTECT feature in vm.h.
2010-07-19 18:19:59 +00:00
Ben Gras
77267ca28b
vm: add missing USE() macros in utility.c.
2010-07-19 18:19:38 +00:00
Ben Gras
5e2c84b119
vm: allow readonly pages when sanity checking when they're supposed to be rw.
2010-07-19 18:19:16 +00:00
Erik van der Kouwe
98725c443e
Fix RS warning at start-up by inheriting scdeduling properties from init for unprivileged children of system processes
2010-07-16 14:56:05 +00:00
Tomas Hruby
7f47f4174d
Fixed comments in sched
...
- not only PM can send sched requests. RS too.
2010-07-16 09:40:12 +00:00
Erik van der Kouwe
739f2d7536
Fix comment
2010-07-15 14:47:08 +00:00
Thomas Veerman
5aff633a0b
Make RS and VFS aware of new UDS major. Contributed by Thomas Cort
2010-07-15 13:51:38 +00:00
Thomas Veerman
ea19830de1
Add UNIX Domain Sockets internals to PFS. Contributed by Thomas Cort
2010-07-15 13:39:57 +00:00
Cristiano Giuffrida
f8a8ea0a79
Dynamic configuration in system.conf for boot system services.
2010-07-13 21:11:44 +00:00
Cristiano Giuffrida
8cedace2f5
Scheduling parameters out of the kernel.
2010-07-13 15:30:17 +00:00
Cristiano Giuffrida
8427d774b6
RS live update support.
2010-07-09 18:29:04 +00:00
David van Moolenbroek
895850b8cf
move timers code to libsys
2010-07-09 12:58:18 +00:00
Ben Gras
8c925134f9
vm: NONCONTIGUOUS - try to make physical memory as maximally noncontiguous
2010-07-09 12:22:33 +00:00
Cristiano Giuffrida
1f8dbed029
RS crash recovery support.
2010-07-06 22:05:21 +00:00
Cristiano Giuffrida
3de6a807ce
Configure settings for system services dynamically with the new service edit command.
2010-07-05 19:37:08 +00:00
Ben Gras
fc8f0b9ee2
vm: better fix for clang 'unused expression' warning
2010-07-05 17:34:26 +00:00
Ben Gras
86139e8bf2
vm: last commit should not have included wiping out these calls
...
(this was done temporarily to make vm work with clang; vm crashes when
the 64-bit arithmetic functions are used when compiled with clang.)
2010-07-05 14:01:34 +00:00
Ben Gras
b4bea1bfcb
vm: fixes for clang warnings
2010-07-05 13:58:57 +00:00
Erik van der Kouwe
37325bd7c5
Make service ABI backwards compatible again
2010-07-03 05:02:59 +00:00
Thomas Veerman
34a2864e27
Fix a few compile time warnings
2010-07-02 12:41:19 +00:00
Kees van Reeuwijk
630f566d3f
Convert a few main() functions to a form that the clang compiler likes.
2010-07-01 22:23:25 +00:00
Cristiano Giuffrida
03f64ac97a
Self update support in RS.
2010-07-01 18:48:25 +00:00
Cristiano Giuffrida
9e4312453d
Improve memory pinning.
2010-07-01 08:54:25 +00:00
Erik van der Kouwe
23284ee7bd
User-space scheduling for system processes
2010-07-01 08:32:33 +00:00
Erik van der Kouwe
5c591816cb
Remove warning in inet; this situation is harmless and can be caused by a race
2010-07-01 06:14:38 +00:00
Cristiano Giuffrida
06700d05d1
Give RS a page table.
2010-06-28 21:53:37 +00:00
Cristiano Giuffrida
869a223d43
service clone command to clone system services on demand.
2010-06-28 21:38:29 +00:00
Ben Gras
6e47e2996f
sep ${.OBJDIR} fixes by Antoine Leica.
2010-06-27 23:47:23 +00:00
David van Moolenbroek
53866b1ebb
oops.
2010-06-27 17:20:17 +00:00
David van Moolenbroek
71435d15cf
HGFS: statvfs support
2010-06-27 17:19:50 +00:00
Arun Thomas
c0c8d25799
Rename mkfiles from minix.*.mk to bsd.*.mk
...
Makes things easier for pkgsrc
2010-06-25 18:29:09 +00:00
Erik van der Kouwe
c0dfa2f3f1
Get rid of asynsend backup copy in VFS
2010-06-25 14:57:54 +00:00
Cristiano Giuffrida
5c7d64b981
No malloc() in VM.
2010-06-25 12:48:56 +00:00
Ben Gras
33c9d427fd
mfs - added put_block() to statvfs loop.
2010-06-24 10:56:45 +00:00
Erik van der Kouwe
498d7d8a4c
Don't use kernel responses in servers
2010-06-24 07:37:26 +00:00