]> Zhao Yanbai Git Server - minix.git/log
minix.git
14 years agoEarly address space switch
Tomas Hruby [Tue, 9 Feb 2010 15:13:52 +0000 (15:13 +0000)]
Early address space switch

- switch_address_space() implements a switch of the user address space
  for the destination process

- this makes memory of this process easily accessible, e.g. a pointer
  valid in the userspace can be used with a little complexity to
  access the process's memory

- the switch does not happed only just before we return to userspace,
  however, it happens right after we know which process we are going
  to schedule. This happens before we start processing the misc flags
  of this process so its memory is available

- if the process becomes not runnable while processing the mics flags
  we pick a new process and we switch the address space again which
  introduces possibly a little bit more overhead, however, it is
  hopefully hidden by reducing the overheads when we actually access
  the memory

14 years agoSys calls are called ipc calls now
Tomas Hruby [Tue, 9 Feb 2010 15:13:07 +0000 (15:13 +0000)]
Sys calls are called ipc calls now

- the syscalls are pretty much just ipc calls, however, sendrec() is
  used to implement system task (sys) calls

- sendrec() won't be used anymore for this, therefore ipc calls will
  become pure ipc calls

14 years agoSystem task initialization moved to main()
Tomas Hruby [Tue, 9 Feb 2010 15:12:20 +0000 (15:12 +0000)]
System task initialization moved to main()

- the system task initialization code does not really need to be part
  of the system task process. An earlier initialization in kernel is
  cleaner as it does not only initialize the syscalls but also irq
  hooks etc.

14 years agoFixes for truncate system calls:
David van Moolenbroek [Tue, 9 Feb 2010 08:12:37 +0000 (08:12 +0000)]
Fixes for truncate system calls:
- VFS: check for negative sizes in all truncate calls
- VFS: update file size after truncating with fcntl(F_FREESP)
- VFS: move pos/len checks for F_FREESP with l_len!=0 from FS to VFS
- MFS: do not zero data block for small files when fully truncating
- MFS: do not write out freed indirect blocks after freeing space
- MFS: make truncate work correctly with differing zone/block sizes
- tests: add new test50 for truncate call family

14 years agoKernel: fix sys_irqctl(IRQ_RMPOLICY)
David van Moolenbroek [Tue, 9 Feb 2010 08:07:47 +0000 (08:07 +0000)]
Kernel: fix sys_irqctl(IRQ_RMPOLICY)

14 years agoa.out.h typo (Bug#398, reported by 7shi)
David van Moolenbroek [Sun, 7 Feb 2010 12:01:37 +0000 (12:01 +0000)]
a.out.h typo (Bug#398, reported by 7shi)

14 years agogas2ack fix
Tomas Hruby [Fri, 5 Feb 2010 13:53:10 +0000 (13:53 +0000)]
gas2ack fix

- fixed handling of segment overrides for instruction that may use two
  of them in the long format, e.g. movs

14 years agoFixes in mkdep.1, suggested by Greg King
Erik van der Kouwe [Fri, 5 Feb 2010 13:07:08 +0000 (13:07 +0000)]
Fixes in mkdep.1, suggested by Greg King

14 years agophilip's inet tcp fix.
Ben Gras [Thu, 4 Feb 2010 22:06:10 +0000 (22:06 +0000)]
philip's inet tcp fix.

14 years agoonly check local benchmark dir if it exists
Ben Gras [Thu, 4 Feb 2010 18:15:10 +0000 (18:15 +0000)]
only check local benchmark dir if it exists

14 years agoalso be able to run benchmarks from packages.
Ben Gras [Thu, 4 Feb 2010 17:52:38 +0000 (17:52 +0000)]
also be able to run benchmarks from packages.

14 years agoImport NetBSD's make
Arun Thomas [Thu, 4 Feb 2010 16:52:54 +0000 (16:52 +0000)]
Import NetBSD's make

14 years agoRemoved useless global variable sys_call_code
Tomas Hruby [Wed, 3 Feb 2010 18:17:01 +0000 (18:17 +0000)]
Removed useless global variable sys_call_code

- we have to same information in the message (m_ptr) where needed

14 years agomakefile for benchmarks.
Ben Gras [Wed, 3 Feb 2010 16:49:15 +0000 (16:49 +0000)]
makefile for benchmarks.

14 years agofix for asmconv - stop translating after .sect .end.
Ben Gras [Wed, 3 Feb 2010 16:03:00 +0000 (16:03 +0000)]
fix for asmconv - stop translating after .sect .end.

14 years agoremove traces of benchmarks from test/.
Ben Gras [Wed, 3 Feb 2010 14:32:36 +0000 (14:32 +0000)]
remove traces of benchmarks from test/.

14 years agomove benchmarks to their own dir.
Ben Gras [Wed, 3 Feb 2010 14:30:02 +0000 (14:30 +0000)]
move benchmarks to their own dir.

14 years agoforget difference between big and small commands - obsolete with vm.
Ben Gras [Wed, 3 Feb 2010 14:16:51 +0000 (14:16 +0000)]
forget difference between big and small commands - obsolete with vm.

14 years agoThrow out getpack, replace printenv with a link to env
Erik van der Kouwe [Wed, 3 Feb 2010 13:51:26 +0000 (13:51 +0000)]
Throw out getpack, replace printenv with a link to env

14 years agoremoval of unused vm<->vfs code.
Ben Gras [Wed, 3 Feb 2010 13:35:17 +0000 (13:35 +0000)]
removal of unused vm<->vfs code.

14 years agosmall asmconv cleanups.
Ben Gras [Wed, 3 Feb 2010 13:29:14 +0000 (13:29 +0000)]
small asmconv cleanups.

 - put asmconv in /usr/bin so it can be invoked without absolute path
 - make it ignore .end in gnu output mode so that it can be invoked
   without '|| true' in the gnu lib makefiles and it doesn't produce the
   messy error message

14 years agoStatistical profiling fixes:
David van Moolenbroek [Wed, 3 Feb 2010 12:27:52 +0000 (12:27 +0000)]
Statistical profiling fixes:
- PM: get rid of umap warning
- sprofalyze.pl: update with recently added servers and drivers
- sprofalyze.pl: properly truncate process names for sample matching

14 years agoThis patch removes the global variables who_p and who_e from the
Tomas Hruby [Wed, 3 Feb 2010 09:04:48 +0000 (09:04 +0000)]
This patch removes the global variables who_p and who_e from the
kernel (sys task).  The main reason is that these would have to become
cpu local variables on SMP.  Once the system task is not a task but a
genuine part of the kernel there is even less reason to have these
extra variables as proc_ptr will already contain all neccessary
information. In addition converting who_e to the process pointer and
back again all the time will be avoided.

Although proc_ptr will contain all important information, accessing it
as a cpu local variable will be fairly expensive, hence the value
would be assigned to some on stack local variable. Therefore it is
better to add the 'caller' argument to the syscall handlers to pass
the value on stack anyway. It also clearly denotes on who's behalf is
the syscall being executed.

This patch also ANSIfies the syscall function headers.

Last but not least, it also fixes a potential bug in virtual_copy_f()
in case the check is disabled. So far the function in case of a
failure could possible reuse an old who_p in case this function had
not been called from the system task.

virtual_copy_f() takes the caller as a parameter too. In case the
checking is disabled, the caller must be NULL and non NULL if it is
enabled as we must be able to suspend the caller.

14 years agoAdd smallbunzip2 to bzip2 man-page
Erik van der Kouwe [Tue, 2 Feb 2010 15:26:12 +0000 (15:26 +0000)]
Add smallbunzip2 to bzip2 man-page

14 years agoMan-pages on mkdep, cdprobe, loadramdisk and newroot; thanks to Antoine Leca
Erik van der Kouwe [Tue, 2 Feb 2010 15:10:00 +0000 (15:10 +0000)]
Man-pages on mkdep, cdprobe, loadramdisk and newroot; thanks to Antoine Leca

14 years agoFix some incorrect testing of bit flags.
Kees van Reeuwijk [Tue, 2 Feb 2010 12:24:35 +0000 (12:24 +0000)]
Fix some incorrect testing of bit flags.

14 years agoKill processes which ignore signals thatshould not be ignored
Erik van der Kouwe [Sun, 31 Jan 2010 19:13:20 +0000 (19:13 +0000)]
Kill processes which ignore signals thatshould not be ignored

14 years agoimprove behaviour under VPC, fixes from nicolas tittley.
Ben Gras [Sun, 31 Jan 2010 18:29:51 +0000 (18:29 +0000)]
improve behaviour under VPC, fixes from nicolas tittley.

14 years agoFix a complaint about a value return from a void function.
Kees van Reeuwijk [Fri, 29 Jan 2010 14:14:22 +0000 (14:14 +0000)]
Fix a complaint about a value return from a void function.
Propagate error codes a bit more.
Some code cleanup.

14 years agoFixed a number of complaints about missing return statements.
Kees van Reeuwijk [Thu, 28 Jan 2010 13:17:07 +0000 (13:17 +0000)]
Fixed a number of complaints about missing return statements.
Some cases were fixed by declaring the function void, others were fixed
by adding a return <value> statement, thereby avoiding potentially
incorrect behavior (usually in error handling).
Some enum correctness in boot.c.

14 years agoHGFS tweaks
David van Moolenbroek [Wed, 27 Jan 2010 22:59:03 +0000 (22:59 +0000)]
HGFS tweaks

14 years agoIncrease process table size
Erik van der Kouwe [Wed, 27 Jan 2010 18:37:12 +0000 (18:37 +0000)]
Increase process table size

14 years agoignore .svn dirs when making binary packages
Ben Gras [Wed, 27 Jan 2010 16:20:28 +0000 (16:20 +0000)]
ignore .svn dirs when making binary packages

14 years agobump version number to 3.1.6, copyright year to 2010.
Ben Gras [Wed, 27 Jan 2010 16:19:50 +0000 (16:19 +0000)]
bump version number to 3.1.6, copyright year to 2010.

14 years agoFixed a number of uses of uninitialized variables by adding assertions
Kees van Reeuwijk [Wed, 27 Jan 2010 10:23:58 +0000 (10:23 +0000)]
Fixed a number of uses of uninitialized variables by adding assertions
or other sanity checks, code reshuffling, or fixing broken behavior.

14 years agoRewrite some functions to ANSI style.
Kees van Reeuwijk [Wed, 27 Jan 2010 10:19:13 +0000 (10:19 +0000)]
Rewrite some functions to ANSI style.

14 years agoNo need to use memcpy to copy a message of 36 bytes. The overhead just
Tomas Hruby [Wed, 27 Jan 2010 09:34:47 +0000 (09:34 +0000)]
No need to use memcpy to copy a message of 36 bytes. The overhead just
to call memcpy is half of the inline copy (using gcc -O)

14 years agoPipe vnodes are always mapped.
Thomas Veerman [Wed, 27 Jan 2010 09:30:39 +0000 (09:30 +0000)]
Pipe vnodes are always mapped.

14 years agoAdd notrunc conversion for dd tool
Erik van der Kouwe [Wed, 27 Jan 2010 07:48:06 +0000 (07:48 +0000)]
Add notrunc conversion for dd tool

14 years agoAdd -p flag for install tool
Erik van der Kouwe [Wed, 27 Jan 2010 07:47:29 +0000 (07:47 +0000)]
Add -p flag for install tool

14 years agoFixed some type inconsistencies in the kernel.
Kees van Reeuwijk [Tue, 26 Jan 2010 12:26:06 +0000 (12:26 +0000)]
Fixed some type inconsistencies in the kernel.

14 years agoRemoved a number of useless #includes
Kees van Reeuwijk [Tue, 26 Jan 2010 10:59:01 +0000 (10:59 +0000)]
Removed a number of useless #includes

14 years agodec21140A ethernet driver for virtualpc, contributed by nicolas tittley.
Ben Gras [Tue, 26 Jan 2010 10:20:18 +0000 (10:20 +0000)]
dec21140A ethernet driver for virtualpc, contributed by nicolas tittley.

14 years agoIPC test set fixes:
David van Moolenbroek [Tue, 26 Jan 2010 08:05:33 +0000 (08:05 +0000)]
IPC test set fixes:
- restore original UID before deleting test directory
- do not assume that SIGUSR1 signal is set to default action

14 years agotypo
David van Moolenbroek [Mon, 25 Jan 2010 23:48:14 +0000 (23:48 +0000)]
typo

14 years agoupdate DS label retrieve calls
David van Moolenbroek [Mon, 25 Jan 2010 23:23:43 +0000 (23:23 +0000)]
update DS label retrieve calls

14 years agoHGFS - VMware Shared Folders file system server
David van Moolenbroek [Mon, 25 Jan 2010 23:18:02 +0000 (23:18 +0000)]
HGFS - VMware Shared Folders file system server

14 years agotypo
David van Moolenbroek [Mon, 25 Jan 2010 21:06:07 +0000 (21:06 +0000)]
typo

14 years agoAdd dirname function, forgot to commit header before
Erik van der Kouwe [Mon, 25 Jan 2010 18:17:57 +0000 (18:17 +0000)]
Add dirname function, forgot to commit header before

14 years agoExplicitly mark i8_t as signed
Erik van der Kouwe [Mon, 25 Jan 2010 18:17:04 +0000 (18:17 +0000)]
Explicitly mark i8_t as signed

14 years agoAdditions to inttypes.h format strings
Erik van der Kouwe [Mon, 25 Jan 2010 18:16:25 +0000 (18:16 +0000)]
Additions to inttypes.h format strings

14 years agoAdd character classes for tr
Erik van der Kouwe [Mon, 25 Jan 2010 18:14:54 +0000 (18:14 +0000)]
Add character classes for tr

14 years agoHave test40 use /dev/ptypf instead of /dev/ptyp0
Erik van der Kouwe [Mon, 25 Jan 2010 18:14:05 +0000 (18:14 +0000)]
Have test40 use /dev/ptypf instead of /dev/ptyp0

14 years agoRemoved unused symbols.
Kees van Reeuwijk [Mon, 25 Jan 2010 18:13:48 +0000 (18:13 +0000)]
Removed unused symbols.
Made some functions PRIVATE, including ones that aren't used anywhere.

14 years agoAdd IPv6-related header definitions
Erik van der Kouwe [Mon, 25 Jan 2010 18:13:23 +0000 (18:13 +0000)]
Add IPv6-related header definitions

14 years agoAdd dirname function
Erik van der Kouwe [Mon, 25 Jan 2010 18:12:28 +0000 (18:12 +0000)]
Add dirname function

14 years agoAdd getopt_long library function
Erik van der Kouwe [Mon, 25 Jan 2010 18:11:21 +0000 (18:11 +0000)]
Add getopt_long library function

14 years agocorrect opcode of FNSTSW (hopefully fixes minix under virtualpc)
Ben Gras [Mon, 25 Jan 2010 16:25:20 +0000 (16:25 +0000)]
correct opcode of FNSTSW (hopefully fixes minix under virtualpc)

14 years ago2 copies of taskcall.c removed
Tomas Hruby [Mon, 25 Jan 2010 14:22:09 +0000 (14:22 +0000)]
2 copies of taskcall.c removed

- taskcall.c is 3x in the trunk as part of libc, libsysutil and
  libsys.  It should be only part of libsys.

- only system process should be linked with libsys, therefore using
  raw _taskcall() in service.c is replaced by _syscall()

- the same for minix_rs.c

- lib/other/sys_eniop.c can go without replacement as it is part of
  syslib

14 years agoman mount(1): dash escaping consistency
David van Moolenbroek [Fri, 22 Jan 2010 23:24:02 +0000 (23:24 +0000)]
man mount(1): dash escaping consistency

14 years agoRemoved unused symbols.
Kees van Reeuwijk [Fri, 22 Jan 2010 22:01:08 +0000 (22:01 +0000)]
Removed unused symbols.
Minor cleanups.

14 years agoRemoved bunch of unused variables in kernel/proc.c
Tomas Hruby [Fri, 22 Jan 2010 16:14:57 +0000 (16:14 +0000)]
Removed bunch of unused variables in kernel/proc.c

14 years agoFix number of tests
Erik van der Kouwe [Fri, 22 Jan 2010 11:32:39 +0000 (11:32 +0000)]
Fix number of tests

14 years agoIPv6 address family and protocol familyconstants
Erik van der Kouwe [Fri, 22 Jan 2010 10:45:43 +0000 (10:45 +0000)]
IPv6 address family and protocol familyconstants

14 years agoMake int64 constants available under GCC
Erik van der Kouwe [Fri, 22 Jan 2010 10:45:05 +0000 (10:45 +0000)]
Make int64 constants available under GCC

14 years agoRemoved some uses of uninitialized variables in update.c, presumably remnands of...
Kees van Reeuwijk [Thu, 21 Jan 2010 22:36:15 +0000 (22:36 +0000)]
Removed some uses of uninitialized variables in update.c, presumably remnands of old color support.
Fixed a few cases where free-ed memory blocks were subsequently read.
Removed some unused variables, #includes, other small cleanup.

14 years agoNew 'benchmarks' dir in test/, with first benchmark - unixbench-5.1.2, ported
Ben Gras [Thu, 21 Jan 2010 16:53:42 +0000 (16:53 +0000)]
New 'benchmarks' dir in test/, with first benchmark - unixbench-5.1.2, ported
by Karol Sobczak.

14 years agoAdd return statement after failed dev_open (fixes open count in at_wini)
Thomas Veerman [Thu, 21 Jan 2010 15:02:29 +0000 (15:02 +0000)]
Add return statement after failed dev_open (fixes open count in at_wini)

14 years agoRestored idt_reload() prototype.
Kees van Reeuwijk [Thu, 21 Jan 2010 11:40:22 +0000 (11:40 +0000)]
Restored idt_reload() prototype.

14 years agoFix parameter parsing in cut
Erik van der Kouwe [Thu, 21 Jan 2010 10:16:05 +0000 (10:16 +0000)]
Fix parameter parsing in cut

14 years agoMake function key for RTL8139 optional
Erik van der Kouwe [Thu, 21 Jan 2010 10:15:22 +0000 (10:15 +0000)]
Make function key for RTL8139 optional

14 years agoUnmount defunct boot ramdisk at bootup
Thomas Veerman [Thu, 21 Jan 2010 09:58:07 +0000 (09:58 +0000)]
Unmount defunct boot ramdisk at bootup

14 years ago- Fix dangling symlink regression
Thomas Veerman [Thu, 21 Jan 2010 09:32:15 +0000 (09:32 +0000)]
- Fix dangling symlink regression
- Make open(2) more POSIX compliant
- Add a test case for dangling symlinks and open() syscall with O_CREAT and
  O_EXCL on a symlink.
- Update open(2) man page to reflect change.

14 years agocreate the getaddrinfo and getnameinfo library functions and friends
Erik van der Kouwe [Thu, 21 Jan 2010 06:38:17 +0000 (06:38 +0000)]
create the getaddrinfo and getnameinfo library functions and friends

14 years agoRemoved unused variable ip_port from icmp_router_advertisment().
Kees van Reeuwijk [Wed, 20 Jan 2010 22:02:25 +0000 (22:02 +0000)]
Removed unused variable ip_port from icmp_router_advertisment().

14 years agoRemove iov_src variables, that were only declared and incremented,
Kees van Reeuwijk [Wed, 20 Jan 2010 21:31:59 +0000 (21:31 +0000)]
Remove iov_src variables, that were only declared and incremented,
but never used, all over the network drivers.

14 years agoRewrote a number of cases where variables were used before they initialized.
Kees van Reeuwijk [Wed, 20 Jan 2010 17:59:48 +0000 (17:59 +0000)]
Rewrote a number of cases where variables were used before they initialized.

14 years agoRemoved some unused tests.
Kees van Reeuwijk [Wed, 20 Jan 2010 17:55:14 +0000 (17:55 +0000)]
Removed some unused tests.

14 years agoRemoved unused code in the ethernet driver that was left from an old implementation
Kees van Reeuwijk [Wed, 20 Jan 2010 17:02:55 +0000 (17:02 +0000)]
Removed unused code in the ethernet driver that was left from an old implementation
Removed/rewritten the use of uninitialized variables in error messages.

14 years agoFix typo in ENOPSUP definition
Erik van der Kouwe [Wed, 20 Jan 2010 16:36:48 +0000 (16:36 +0000)]
Fix typo in ENOPSUP definition

14 years agoremove SYS_MAPDMA
David van Moolenbroek [Tue, 19 Jan 2010 21:24:42 +0000 (21:24 +0000)]
remove SYS_MAPDMA

14 years agorename message.m5_c[12] to m5_s[12]
David van Moolenbroek [Tue, 19 Jan 2010 21:19:59 +0000 (21:19 +0000)]
rename message.m5_c[12] to m5_s[12]

14 years agosetgroups fix
David van Moolenbroek [Tue, 19 Jan 2010 21:15:43 +0000 (21:15 +0000)]
setgroups fix

14 years agoVM information interface
David van Moolenbroek [Tue, 19 Jan 2010 21:00:20 +0000 (21:00 +0000)]
VM information interface

14 years agoFixed warnings in watchdog.c
Tomas Hruby [Tue, 19 Jan 2010 14:47:25 +0000 (14:47 +0000)]
Fixed warnings in watchdog.c

14 years agoFixed some flawed defensive programming in audio drivers.
Kees van Reeuwijk [Mon, 18 Jan 2010 21:37:24 +0000 (21:37 +0000)]
Fixed some flawed defensive programming in audio drivers.

14 years agoUse _POSIX_SOURCE rather than _MINIX to protect popen, pclose and snprintf
Erik van der Kouwe [Mon, 18 Jan 2010 18:06:43 +0000 (18:06 +0000)]
Use _POSIX_SOURCE rather than _MINIX to protect popen, pclose and snprintf

14 years agoFix to make making a bootable cd possible again.
Ben Gras [Mon, 18 Jan 2010 14:10:04 +0000 (14:10 +0000)]
Fix to make making a bootable cd possible again.

ow that the image has grown beyond the 1.44M that fits on a floppy.
(previously, the floppy emulation mode was used for cd's.)

the boot cd now uses 'no emulation mode,' where an image is provided on
the cd that is loaded and executed directly. this is the boot monitor.

in order to make this work (the entry point is the same as where the
image is loaded, and the boot monitor needs its a.out header too) and
keep compatability with the same code being used for regular booting, i
prepended 16 bytes that jumps over its header so execution can start
there.

to be able to read the CD (mostly in order to read the boot image),
boot has to use the already present 'extended read' call, but address
the CD using 2k sectors.

14 years agoNMI watchdog is an awesome feature for debugging locked up kernels.
Tomas Hruby [Sat, 16 Jan 2010 20:53:55 +0000 (20:53 +0000)]
NMI watchdog is an awesome feature for debugging locked up kernels.
There is not that much use for it on a single CPU, however, deadlock
between kernel and system task can be delected. Or a runaway loop.

If a kernel gets locked up the timer interrupts don't occure (as all
interrupts are disabled in kernel mode). The only chance is to
interrupt the kernel by a non-maskable interrupt.

This patch generates NMIs using performance counters. It uses the most
widely available performace counters. As the performance counters are
highly model-specific this patch is not guaranteed to work on every
machine.  Unfortunately this is also true for KVM :-/ On the other
hand adding this feature for other models is not extremely difficult
and the framework makes it hopefully easy enough.

Depending on the frequency of the CPU an NMI is generated at most
about every 0.5s If the cpu's speed is less then 2Ghz it is generated
at most every 1s. In general an NMI is generated much less often as
the performance counter counts down only if the cpu is not idle.
Therefore the overhead of this feature is fairly minimal even if the
load is high.

Uppon detecting that the kernel is locked up the kernel dumps the
state of the kernel registers and panics.

Local APIC must be enabled for the watchdog to work.

The code is _always_ compiled in, however, it is only enabled if
watchdog=<non-zero> is set in the boot monitor.

One corner case is serial console debugging. As dumping a lot of stuff
to the serial link may take a lot of time, the watchdog does not
detect lockups during this time!!! as it would result in too many
false positives. 10 nmi have to be handled before the lockup is
detected. This means something between ~5s to 10s.

Another corner case is that the watchdog is enabled only after the
paging is enabled as it would be pure madness to try to get it right.

14 years agoGive SETALARM privilege to atl2 driver
David van Moolenbroek [Sat, 16 Jan 2010 14:31:35 +0000 (14:31 +0000)]
Give SETALARM privilege to atl2 driver

14 years agoAdded a missing return statement in paired_grant().
Kees van Reeuwijk [Fri, 15 Jan 2010 21:45:30 +0000 (21:45 +0000)]
Added a missing return statement in paired_grant().
Removed lots of unused variables.

14 years agomake C function setgroups() be _setgroups(), called by the asm stub.
Ben Gras [Fri, 15 Jan 2010 17:16:15 +0000 (17:16 +0000)]
make C function setgroups() be _setgroups(), called by the asm stub.
initgroups() can then use _setgroups() instead of setgroups().

14 years ago_cpuid() - full cpuid instruction wrapper
Tomas Hruby [Fri, 15 Jan 2010 15:23:57 +0000 (15:23 +0000)]
_cpuid() - full cpuid instruction wrapper

- the prototype changes to

_cpuid(u32_t *eax, u32_t *ebx, u32_t *ecx, u32_t *edx)

- this makes possible to use all the features of the cpuid instruction as
  described in the Intel specs

14 years agoFixed extern declaration from pointer to array
Ben Gras [Fri, 15 Jan 2010 12:08:57 +0000 (12:08 +0000)]
Fixed extern declaration from pointer to array

14 years agoCompile and install e1000 driver by default
David van Moolenbroek [Fri, 15 Jan 2010 10:22:34 +0000 (10:22 +0000)]
Compile and install e1000 driver by default

14 years agoMerge of Wu's GSOC 09 branch (src.20090525.r4372.wu)
Cristiano Giuffrida [Thu, 14 Jan 2010 15:24:16 +0000 (15:24 +0000)]
Merge of Wu's GSOC 09 branch (src.20090525.r4372.wu)

Main changes:
- COW optimization for safecopy.
- safemap, a grant-based interface for sharing memory regions between processes.
- Integration with safemap and complete rework of DS, supporting new data types
  natively (labels, memory ranges, memory mapped ranges).
- For further information:
  http://wiki.minix3.org/en/SummerOfCode2009/MemoryGrants

Additional changes not included in the original Wu's branch:
- Fixed unhandled case in VM when using COW optimization for safecopy in case
  of a block that has already been shared as SMAP.
- Better interface and naming scheme for sys_saferevmap and ds_retrieve_map
  calls.
- Better input checking in syslib: check for page alignment when creating
  memory mapping grants.
- DS notifies subscribers when an entry is deleted.
- Documented the behavior of indirect grants in case of memory mapping.
- Test suite in /usr/src/test/safeperf|safecopy|safemap|ds/* reworked
  and extended.
- Minor fixes and general cleanup.
- TO-DO: Grant ids should be generated and managed the way endpoints are to make
sure grant slots are never misreused.

14 years agoFixed a bug in do_sdevio() that broke I/O size computations.
Kees van Reeuwijk [Thu, 14 Jan 2010 14:51:23 +0000 (14:51 +0000)]
Fixed a bug in do_sdevio() that broke I/O size computations.
Removed redundant size computations.
Cleaned up code.

14 years agoRemoved a whole herd of unused variables.
Kees van Reeuwijk [Thu, 14 Jan 2010 13:53:12 +0000 (13:53 +0000)]
Removed a whole herd of unused variables.
Some other cleanup.

14 years agoRemove obsolete m_ptr calculations in try_one() and mini_senda().
Kees van Reeuwijk [Thu, 14 Jan 2010 12:04:24 +0000 (12:04 +0000)]
Remove obsolete m_ptr calculations in try_one() and mini_senda().

14 years agoUninitialized variable fix in VM to kernel protocol
Tomas Hruby [Thu, 14 Jan 2010 11:30:02 +0000 (11:30 +0000)]
Uninitialized variable fix in VM to kernel protocol

- index must be initialized to 0 otherwise bad things happen like the mappings
  for local APIC are not correct after turning paging on.