97fe6a4ba5
Broken pipes fix
Tomas Hruby
2009-09-24 16:03:25 +00:00
ab6fc64984
ps fix
Tomas Hruby
2009-09-24 16:00:59 +00:00
f236d1dd9c
throw out the debugging stuff again.
Ben Gras
2009-09-23 16:26:05 +00:00
af77f4e964
debug output in SANITYCHECKS mode
Ben Gras
2009-09-23 16:02:27 +00:00
f87a91ce95
missing level-- in out-of-memory case.
Ben Gras
2009-09-23 15:19:36 +00:00
74616a057b
temporarily disable munmap() to mask memory problem.
Ben Gras
2009-09-23 13:34:04 +00:00
4c11d7e6f5
- simplify findhole() for use for 1 page only - do WMF_FREE - added WMF_VERIFY to check page table contents - randomize address space usage in vm self
Ben Gras
2009-09-23 13:33:01 +00:00
9e53925504
save a few lines of unnecessary output.
Ben Gras
2009-09-23 13:27:21 +00:00
b2e3153263
Release script: Increase root ramdisk to 8KB
Arun Thomas
2009-09-23 11:07:55 +00:00
0d7b967413
give sys_fork() a real endpoint_t * arg
Ben Gras
2009-09-23 10:48:57 +00:00
789c8a6ee4
Fixed compilation errors in ps.c and rs/manager.c. The former was fixed by disabling code using no-longer-existant flags and the latter by removing the spurious parameter i from sys_privctl
Erik van der Kouwe
2009-09-23 08:46:17 +00:00
dd0ea3aba0
NOT_REACHABLE() removed until ack will be taught to handle macros as a grownup compiler
Tomas Hruby
2009-09-23 07:25:04 +00:00
7c10365f1b
removed idt_reload()
Tomas Hruby
2009-09-23 07:20:57 +00:00
f53377ed67
Removed the broken PROC_EVENT and SYN_ALARM from VFS
Tomas Hruby
2009-09-22 22:11:20 +00:00
8590ac260d
Removed dependency of vfs on NR_TASKS macro
Tomas Hruby
2009-09-22 21:48:26 +00:00
48602fcfae
NOT_REACHABLE macro
Tomas Hruby
2009-09-22 21:46:47 +00:00
c0a1fd1292
Removed NR_TASKS from macros manipulating endpoint_t
Tomas Hruby
2009-09-22 21:45:26 +00:00
b900311656
endpoint_t in syslib
Tomas Hruby
2009-09-22 21:42:02 +00:00
64df404150
umount before ramdisk spec to allow resizing
Ben Gras
2009-09-22 14:01:17 +00:00
6492bf0019
allow resizing of ramdisks.
Ben Gras
2009-09-22 13:57:21 +00:00
a97c9633ff
Remove duplicate nanosleep stub
Erik van der Kouwe
2009-09-22 12:05:22 +00:00
0b713b0de5
unmap VR_DIRECT mappings too (fix for X)
Ben Gras
2009-09-22 11:51:17 +00:00
76a02db5e7
unused, thanks david
Ben Gras
2009-09-21 21:00:36 +00:00
c2324398f4
sha1 unused now.
Ben Gras
2009-09-21 20:32:53 +00:00
813021b56b
forgot to svn add this.
Ben Gras
2009-09-21 19:56:30 +00:00
32fa22fc2d
RS_LOOKUP feature for libc functions that want to access servers.
Ben Gras
2009-09-21 15:25:15 +00:00
a5599efd9c
fp might be NULL.
Ben Gras
2009-09-21 15:23:08 +00:00
a4d1b17453
ipc tests by GQ
Ben Gras
2009-09-21 14:53:53 +00:00
75d3db4911
new ipc server that implements shared memory and semaphores.
Ben Gras
2009-09-21 14:53:13 +00:00
32fbbd370c
- pages that points to page directory values of all processes, shared with the kernel, mapped into kernel address space; kernel is notified of its location. kernel segment size is increased to make it fit. - map in kernel and other processes that don't have their own page table using single 4MB (global) mapping. - new sanity check facility: objects that are allocated with the slab allocator are, when running with sanity checking on, marked readonly until they are explicitly unlocked using the USE() macro. - another sanity check facility: collect all uses of memory and see if they don't overlap with (a) eachother and (b) free memory - own munmap() and munmap_text() functions. - exec() recovers from out-of-memory conditions properly now; this solves some weird exec() behaviour - chew off memory from the same side of the chunk as where we start scanning, solving some memory fragmentation issues - use avl trees for freelist and phys_ranges in regions - implement most useful part of munmap() - remap() stuff is GQ's for shared memory
Ben Gras
2009-09-21 14:49:49 +00:00
f5459e38db
- some exec debugging prints when errors happen - lookup mounted_on check to avoid NULL dereference - some errors in exec() shouldn't be fatal
Ben Gras
2009-09-21 14:49:26 +00:00
e402927576
support for vm priv system.
Ben Gras
2009-09-21 14:49:04 +00:00
5f497bcf22
- Introduce some macros for field names, so that endpt, pendpt, addr and taddr don't have to be defined any more, so that <sys/mman.h> can be included for proper prototypes of munmap() and friends. - rename our GETPID to MINIX_GETPID to avoid a name conflict with other sources - PM needs its own munmap() and munmap_text() to avoid sending messages to VM at the startup phase. It *does* want to do that, but only after initialising. So they're called again with unmap_ok set to 1 later. - getnuid(), getngid() implementation
Ben Gras
2009-09-21 14:48:19 +00:00
a0d8cc0765
- No maximum block size any more. - If allocation of a new buffer fails, use an already-allocated unused buffer if available (low memory conditions) - Allocate buffers dynamically, so memory isn't wasted on wrong-sized buffers. - No more _MAX_BLOCK_SIZE.
Ben Gras
2009-09-21 14:47:51 +00:00
08d291da53
no more scheduling queue dumps (kernel will print this over serial); initial vm stats retrieve support
Ben Gras
2009-09-21 14:47:24 +00:00
90be3a051f
clever hack to avoid starting from 0 disabled because when own 0-pages are mapped out, this doesn't work and isn't necessary.
Ben Gras
2009-09-21 14:46:42 +00:00
d6819ff659
various syscall entry points
Ben Gras
2009-09-21 14:46:10 +00:00
40411ea908
rename GETPID to MINIX_GETPID (for now); macro for field name
Ben Gras
2009-09-21 14:45:46 +00:00
76ba69151d
more vm stubs
Ben Gras
2009-09-21 14:45:09 +00:00
e8b3ac74a6
ftime()
Ben Gras
2009-09-21 14:44:35 +00:00
b2adf0c1ae
more pid queries; PM field macros; vm stubs
Ben Gras
2009-09-21 14:44:00 +00:00
348978e64a
vm stubs; no more sys_vm_setbuf
Ben Gras
2009-09-21 14:42:58 +00:00
c9fee544b6
sysvipc dir
Ben Gras
2009-09-21 14:42:13 +00:00
da8360c0a3
change startup code to call munmap()/munmap_text() to map out own 0-pages.
Ben Gras
2009-09-21 14:41:47 +00:00
1c217d038c
new sysv ipc call stubs
Ben Gras
2009-09-21 14:41:03 +00:00
8c2bece89f
- remove unused kmalloc - initial implementation of _read_host_time_ns, a function to retrieve real-time in ns in vmware virtual machines
Ben Gras
2009-09-21 14:39:15 +00:00
cd8b915ed9
Primary goal for these changes is: - no longer have kernel have its own page table that is loaded on every kernel entry (trap, interrupt, exception). the primary purpose is to reduce the number of required reloads. Result: - kernel can only access memory of process that was running when kernel was entered - kernel must be mapped into every process page table, so traps to kernel keep working Problem: - kernel must often access memory of arbitrary processes (e.g. send arbitrary processes messages); this can't happen directly any more; usually because that process' page table isn't loaded at all, sometimes because that memory isn't mapped in at all, sometimes because it isn't mapped in read-write. So: - kernel must be able to map in memory of any process, in its own address space. Implementation: - VM and kernel share a range of memory in which addresses of all page tables of all processes are available. This has two purposes: . Kernel has to know what data to copy in order to map in a range . Kernel has to know where to write the data in order to map it in That last point is because kernel has to write in the currently loaded page table. - Processes and kernel are separated through segments; kernel segments haven't changed. - The kernel keeps the process whose page table is currently loaded in 'ptproc.' - If it wants to map in a range of memory, it writes the value of the page directory entry for that range into the page directory entry in the currently loaded map. There is a slot reserved for such purposes. The kernel can then access this memory directly. - In order to do this, its segment has been increased (and the segments of processes start where it ends). - In the pagefault handler, detect if the kernel is doing 'trappable' memory access (i.e. a pagefault isn't a fatal error) and if so, - set the saved instruction pointer to phys_copy_fault, breaking out of phys_copy - set the saved eax register to the address of the page fault, both for sanity checking and for checking in which of the two ranges that phys_copy was called with the fault occured - Some boot-time processes do not have their own page table, and are mapped in with the kernel, and separated with segments. The kernel detects this using HASPT. If such a process has to be scheduled, any page table will work and no page table switch is done.
Ben Gras
2009-09-21 14:31:52 +00:00
f5b04e1881
minor change to panic code
Ben Gras
2009-09-21 14:28:16 +00:00
ad4fc01b7b
- new entry for bios_wini and ipc - start ipc server on botting
Ben Gras
2009-09-21 14:26:20 +00:00
89bf7bae27
- tty: only report unrecognized scancodes once; forget about remembering the origin and cursor position as that feature didn't really work properly anyway - tty: map in video and font memory using a vm call, access it from C, thereby eliminating pesky weird segment calls and assembly to access it, and unbreaks loadfont (Roman Ignatov) - bios_wini: fix bios_wini by allocating a <1MB buffers for it - memory: preallocate ramdisk, makes it a bit faster (and doesn't fail halfway if you allocate a huge one) - floppy: use <1MB buffer - ramdisk proto: because of the 2x1 page reservations, binaries got a little fatter and didn't fit on the ramdisk any more. increase it.
Ben Gras
2009-09-21 14:25:54 +00:00
36e935fe0f
- added 'datasizes' script that shows you the size allocated for each symbol, usually answering those "why is does my binary have such a lot of BSS" questions. - stop binpackage looking in /var/spool for package files. - let makewhatis recognize .Sh as heading name - setup, fsck, df: allow >4kB block sizes painlessly - mkfs: new #-of-inodes heuristic that depends on kb, not on blocks; i've run out of inodes on my /usr - asmconv: don't silently truncate .aligns to 16 bytes - ipc* commands for shared memory support
Ben Gras
2009-09-21 14:24:29 +00:00
ba91b3b7d2
- remove unused bootdelay feauture - only print a line for every boot process if 'verbose' variable set to nonzero; reason: with serial output, the long output significantly slows down frequent reboots, and causes 'scroll damage' that in some cases is pretty bad. also the verbose output doesn't tell you the one thing you might want to know about a process: how much memory is it using? or how much memory is everything using? - short format does print out total memory allocated for processes
Ben Gras
2009-09-21 14:23:47 +00:00
8a54d267f0
- VM_KERN_NOPAGEZERO feature is gone - sys_getbiosbuffer feature is gone (from kernel; available from vm) - bump version number because munmap() calls that newly compiled binaries will do trigger an ugly (but harmless) error message in older VM's - some new VM calls and flags, the new IPC calls - some new CR0 register bits - added files for shared memory
Ben Gras
2009-09-21 14:23:10 +00:00
0a27cf279e
test31 fix
David van Moolenbroek
2009-09-20 18:15:24 +00:00
1fe1b219c9
test32 fix
David van Moolenbroek
2009-09-20 16:47:57 +00:00
f2def7d360
Kernel: correct a few SYSTEM source documentation comments
David van Moolenbroek
2009-09-17 20:51:34 +00:00
db56801ddc
Some clean up of the segment selectors macros
Tomas Hruby
2009-09-15 10:01:06 +00:00
71077d1228
iskernelp() and isuserp() test pointers
Tomas Hruby
2009-09-15 09:58:46 +00:00
78793f4f38
pproc_addr unused and removed
Tomas Hruby
2009-09-15 09:57:54 +00:00
4fd433694f
proc_addr() returns address based on location in proc array
Tomas Hruby
2009-09-15 09:57:22 +00:00
3615d93383
Handle SIGSTOP more consistently and according to POSIX rules; it can no longer be ignored
Erik van der Kouwe
2009-09-13 12:24:23 +00:00
ba83b7663d
PM: some tiny fixes
David van Moolenbroek
2009-09-12 18:36:07 +00:00
c72487dc9f
remove unused NEW_KSIG definition
David van Moolenbroek
2009-09-07 22:12:50 +00:00
e538509508
Kernel: remove unused CHECK_DEADLOCK definition
David van Moolenbroek
2009-09-07 20:23:31 +00:00
18ae423990
it's/its
David van Moolenbroek
2009-09-06 17:13:08 +00:00
9c19233879
Kernel: do_[sv]devio.c header corrections
David van Moolenbroek
2009-09-06 15:54:15 +00:00
8ef6c9b063
cleanup: sys_irqrmpolicy does not need IRQ vector
David van Moolenbroek
2009-09-06 14:24:44 +00:00
9b417d616f
remove unused IRQ_ENDPT definition
David van Moolenbroek
2009-09-06 14:14:03 +00:00
32b2758ba8
syslib: make sys_nice use field aliases
David van Moolenbroek
2009-09-05 12:51:00 +00:00
f92e0dafb5
Disabled check in test 28 which hard links a directory; this is nott required by POSIX and not supported (currently) by MINIX. Also corrected total number of tests.
Erik van der Kouwe
2009-09-04 20:23:25 +00:00
141e5531ad
Now all tests except for 28 succeed in root mode
Erik van der Kouwe
2009-09-04 14:14:49 +00:00
9dda815067
Remove redundant line from previous patch
Erik van der Kouwe
2009-09-04 13:36:43 +00:00
e1e4d6649f
Allow setuid tests 11 and 33 to run. The former still fails (but now with a meaningful error) while the latter succeeds. Only 2 tests are left borken on default MINIX, namely 11 and 28.
Erik van der Kouwe
2009-09-04 13:18:49 +00:00
ec4b567894
Avoid alarm to prevent the setitimer interval from being reset
Erik van der Kouwe
2009-09-03 20:35:22 +00:00
360dc9104c
- Added netconf script which makes it a lot easier to change network settings. - Modified the setup script to use the netconf script for the network configuration: - Moved step 2 to step 8 and renamed the steps in between. - Autopart adapted to print step 3 instead of step 4.
Thomas Veerman
2009-09-03 09:38:27 +00:00
8aeb17c75e
typo
David van Moolenbroek
2009-09-02 21:55:26 +00:00
3d3e12f50f
postgresql services entry.
Ben Gras
2009-09-02 13:23:22 +00:00
7e9e0ce9bc
FXP: support for 8086/1064 (reported and tested by Jose Luis Sanchez)
David van Moolenbroek
2009-08-30 16:13:46 +00:00
a57fbb11cd
Fix time(1) for custom system HZ values (reported by Jose Luis Sanchez
David van Moolenbroek
2009-08-30 16:06:59 +00:00
2e293ce7c0
system_init() renamed to arch_init()
Tomas Hruby
2009-08-30 14:55:30 +00:00
b1aaee6dcc
Printing the trap info even if kernel crashes is handy.
Tomas Hruby
2009-08-29 19:38:11 +00:00
50473107c2
saved_proc in exception() may be NULL
Tomas Hruby
2009-08-29 19:26:46 +00:00
42f0bf7dda
VFS: fetch_name() buffer underflow (reported by John Peace, bug #305)
David van Moolenbroek
2009-08-29 08:22:50 +00:00
4903a734b8
IDT is initialized in idt_init() not in prot_init()
Tomas Hruby
2009-08-28 15:55:30 +00:00
1162806940
Re-disable complete_bars, it was not needed for PRO/100 despite the error message
Erik van der Kouwe
2009-08-27 07:10:03 +00:00
ada4859302
Extend Intel PRO/100 support
Erik van der Kouwe
2009-08-26 21:01:46 +00:00
d84472dfc8
urlget: broken ftpget call, reported by Charles Littlefield
David van Moolenbroek
2009-08-23 13:53:03 +00:00
47e6506d7b
support for TCP sockets in send/sendto/recv/recvfrom
David van Moolenbroek
2009-08-21 09:59:09 +00:00
5cdd995dc5
Use su to allow tests 3, 6, 17, 18, 19, 21 and 25 to work as root, making testing easier
Erik van der Kouwe
2009-08-18 19:58:34 +00:00
192c0be4a8
Fix HUGE_VAL warnings
Erik van der Kouwe
2009-08-18 19:10:48 +00:00
d81563a9b1
Fix HUGE_VAL warnings
Erik van der Kouwe
2009-08-18 19:10:20 +00:00
f3e0c5c381
VFS quits gracefully if mount fails and mounted_on remains uninitialized
Tomas Hruby
2009-08-18 13:30:05 +00:00
b47483433c
Added a hack to start binaries from the boot image only. In particular, setting bin_img=1 in the boot monitor will make sure that during the boot procedure the mfs binary that is part of the boot image is the only binary that is used to mount partitions. This is useful when for some reason the mfs binary on disk malfunctions, rendering Minix unable to boot. By setting bin_img=1, the binary on disk is ignored and the binary in the boot image is used instead.
Thomas Veerman
2009-08-18 11:36:01 +00:00
47a2bfeddd
small errno.h corrections
David van Moolenbroek
2009-08-18 09:26:51 +00:00
5490ef1083
Fixed some warnings
Erik van der Kouwe
2009-08-17 18:49:15 +00:00
fdf47c1046
Fixed some warnings
Erik van der Kouwe
2009-08-17 18:49:07 +00:00