Commit Graph

  • e64e75dbc5 also don't let user process change ss segment selector when returning from signal. Ben Gras 2009-09-25 17:44:26 +00:00
  • aa1c90fdd7 correct logic error in region.c. Ben Gras 2009-09-25 17:39:39 +00:00
  • 1d0854e6db pre-APPROVEd (thanks Arun) sanity check function. Ben Gras 2009-09-25 11:12:06 +00:00
  • 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
  • 979bcfc195 - sys_privctl: don't mix message types - sys_privctl: remove CTL_MM_PRIV (third parameter) - remove obsolete sys_svrctl.c library file David van Moolenbroek 2009-09-06 12:37:13 +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