]>
Zhao Yanbai Git Server - minix.git/log
Arun Thomas [Fri, 10 Dec 2010 09:33:48 +0000 (09:33 +0000)]
Fix libname in bsd.prog.mk
Arun Thomas [Fri, 10 Dec 2010 09:27:56 +0000 (09:27 +0000)]
VFS/RS support for ELF
David van Moolenbroek [Wed, 8 Dec 2010 14:54:08 +0000 (14:54 +0000)]
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.
David van Moolenbroek [Tue, 7 Dec 2010 12:16:31 +0000 (12:16 +0000)]
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.
David van Moolenbroek [Tue, 7 Dec 2010 10:32:42 +0000 (10:32 +0000)]
Kernel/RS: fix permission computation with 32+ system processes
David van Moolenbroek [Fri, 3 Dec 2010 13:19:15 +0000 (13:19 +0000)]
RS: do not restart file systems
Arun Thomas [Wed, 1 Dec 2010 16:24:50 +0000 (16:24 +0000)]
vfs: terminate string in rdlink_direct
Fixes test56 when compiled with GCC.
Erik van der Kouwe [Mon, 29 Nov 2010 08:30:30 +0000 (08:30 +0000)]
Fix missing parenthesis (suggested by Antoine Leca)
Ben Gras [Thu, 25 Nov 2010 15:25:17 +0000 (15:25 +0000)]
mkboot: include git id in image name if available.
Dirk Vogt [Wed, 24 Nov 2010 16:30:13 +0000 (16:30 +0000)]
removed unneeded global var
Dirk Vogt [Wed, 24 Nov 2010 16:29:50 +0000 (16:29 +0000)]
don't send FS_READY anymore
Ben Gras [Wed, 24 Nov 2010 13:44:42 +0000 (13:44 +0000)]
Fix for objdir feature of BSD make
contributed by Antoine Leca.
Dirk Vogt [Tue, 23 Nov 2010 19:34:56 +0000 (19:34 +0000)]
decouple file system server start/termination from mount/umount
Arun Thomas [Tue, 23 Nov 2010 11:12:06 +0000 (11:12 +0000)]
pkgsrc: Update git repo info
Arun Thomas [Tue, 23 Nov 2010 11:05:09 +0000 (11:05 +0000)]
Add machine/param.h
Arun Thomas [Fri, 19 Nov 2010 12:36:44 +0000 (12:36 +0000)]
For GCC/clang, don't build in ACK int64 routines
Arun Thomas [Fri, 19 Nov 2010 10:33:26 +0000 (10:33 +0000)]
Allow for overriding GCC var in test Makefile
Arun Thomas [Fri, 19 Nov 2010 10:28:17 +0000 (10:28 +0000)]
kernel: Use LIBDIR var in Makefile
Instead of using a hard-coded path, use the LIBDIR variable so
the library path can be overridden.
Tomas Hruby [Thu, 18 Nov 2010 16:37:40 +0000 (16:37 +0000)]
Inlining 64bit integer handling functions
- if gcc/clang is used the C functions that use long long can be
inlined to get better performance (yes, it makes difference)
Tomas Hruby [Thu, 18 Nov 2010 15:12:01 +0000 (15:12 +0000)]
kernel/debug.c includes u64.h (fix)
Dirk Vogt [Wed, 17 Nov 2010 15:10:20 +0000 (15:10 +0000)]
libdriver without mandatory driver main loop
Dirk Vogt [Wed, 17 Nov 2010 14:53:07 +0000 (14:53 +0000)]
Added possibility to inject input events to tty
M include/Makefile
A include/minix/input.h
M include/minix/com.h
M drivers/tty/keyboard.c
M drivers/tty/tty.c
M drivers/tty/tty.h
M include/minix/syslib.h
M lib/libsys/Makefile
A lib/libsys/input.c
Ben Gras [Wed, 17 Nov 2010 14:29:32 +0000 (14:29 +0000)]
revert r8783, as those entries are auto-generated now
Ben Gras [Wed, 17 Nov 2010 14:28:23 +0000 (14:28 +0000)]
. auto-generate per-directory .gitignore files based on $(CLEANFILES)
. gitignore .gitignore files except for the root one.
Ben Gras [Wed, 17 Nov 2010 14:27:23 +0000 (14:27 +0000)]
Updated some CLEANFILES macros in Makefiles.
Arun Thomas [Mon, 15 Nov 2010 15:59:59 +0000 (15:59 +0000)]
Update gitignore
Arun Thomas [Mon, 15 Nov 2010 11:10:02 +0000 (11:10 +0000)]
Remove redundant sha2 code from inet
Arun Thomas [Fri, 12 Nov 2010 18:38:10 +0000 (18:38 +0000)]
GCC/clang: int64 routines in C
Erik van der Kouwe [Thu, 11 Nov 2010 14:12:48 +0000 (14:12 +0000)]
Remove global variable 'i'
Ben Gras [Thu, 11 Nov 2010 02:00:12 +0000 (02:00 +0000)]
update for releases with git.
Arun Thomas [Sun, 7 Nov 2010 23:35:29 +0000 (23:35 +0000)]
Use int64 functions consistently
Instead of manipulating the u64_t type directly, use the
ex64hi()/ex64lo()/make64() functions.
Arun Thomas [Sat, 6 Nov 2010 20:43:49 +0000 (20:43 +0000)]
Import mkfifo(1) from NetBSD
Arun Thomas [Sat, 6 Nov 2010 20:41:51 +0000 (20:41 +0000)]
Import mktemp(1) from NetBSD
Arun Thomas [Sat, 6 Nov 2010 20:40:15 +0000 (20:40 +0000)]
Move minix/paths.h to paths.h
Also, merge in relevant macros from NetBSD
Ben Gras [Thu, 4 Nov 2010 21:11:33 +0000 (21:11 +0000)]
.gitignore: also ignore CVS and .svn dirs
- to make importing from cvs and svn repos smoother
Arun Thomas [Thu, 4 Nov 2010 01:13:59 +0000 (01:13 +0000)]
Remove revision IDs from files
Ben Gras [Tue, 2 Nov 2010 22:43:25 +0000 (22:43 +0000)]
add top-level .gitignore.
Ben Gras [Tue, 2 Nov 2010 22:05:40 +0000 (22:05 +0000)]
stdio: split vsprintf and vsnprintf
- workaround for linking problems
Ben Gras [Tue, 2 Nov 2010 22:02:50 +0000 (22:02 +0000)]
stdio/freopen.c: fill __iotab table with stream pointer
- lets fclose()d and then freopen()ed streams be fclose()d again
without error
Ben Gras [Tue, 2 Nov 2010 22:01:47 +0000 (22:01 +0000)]
stdio/fclose.c: reset _buf
- if the stream gets freopen()ed, avoid buffer being seen as valid
Ben Gras [Tue, 2 Nov 2010 21:27:04 +0000 (21:27 +0000)]
kernel: limit stacktrace depth to 50.
- Unlikely to discard useful information and avoids long
system lockups on machines configured to print system output to serial.
Tomas Hruby [Tue, 26 Oct 2010 21:08:00 +0000 (21:08 +0000)]
/proc/cpuinfo
- when /proc/cpuinfo is read procfs retrievs information about cpus
from the kernel, formats it and prints it
Tomas Hruby [Tue, 26 Oct 2010 21:07:50 +0000 (21:07 +0000)]
sys_getcpuinfo()
Tomas Hruby [Tue, 26 Oct 2010 21:07:27 +0000 (21:07 +0000)]
Kernel keeps information about each cpu
- kernel maintains a cpu_info array which contains various
information about each cpu as filled when each cpu boots
- the information contains idetification, features etc.
Tomas Hruby [Mon, 25 Oct 2010 16:21:23 +0000 (16:21 +0000)]
SMP - reduced TLB flushing
- flush TLB of processes only if the page tables has been changed and
the page tables of this process are already loaded on this cpu which
means that there might be stale entries in TLB. Until now SMP was
always flushing TLB to make sure everything is consistent.
Tomas Hruby [Mon, 25 Oct 2010 08:32:14 +0000 (08:32 +0000)]
Fixed unixbench Run script
- perl path has changed
Tomas Hruby [Thu, 21 Oct 2010 17:07:12 +0000 (17:07 +0000)]
if verbore=1 tell us who registers which irq handler
- a useful piece of information when debugging
Tomas Hruby [Thu, 21 Oct 2010 17:07:09 +0000 (17:07 +0000)]
ACPI pci-to-pci bridges
- every pci device which implements _PRT acpi method is considered to
be a pci-to-pci bridge
- acpi driver constructs a hierarchy of pci-to-pci bridges
- when pci driver identifies a pci-to-pci bridge it tells acpi driver
what is the primary and the secondary bus for this device
- when pci requests IRQ routing information from acpi, it passes the
bus number too to be able to identify the device accurately
Tomas Hruby [Thu, 21 Oct 2010 17:07:07 +0000 (17:07 +0000)]
Zero no more hardwired as BSP apic id
- the BSP apic id is written in the io apic redirection entries to
deliver the interrupts to BSP
Tomas Hruby [Thu, 21 Oct 2010 17:07:05 +0000 (17:07 +0000)]
VM implicitly aligns mappings to a page
- problem when a PCI BAR is not aligned
- together with David v. Moolenboek
Tomas Hruby [Thu, 21 Oct 2010 17:07:01 +0000 (17:07 +0000)]
single shot timer interrupts fix
- accidentaly this wasn't part of the SMP merge and the implementation
remained uncomplete with the timer keeping ticking periodically
- APIC timer is set for a signel shot and restarted everytime it
expires. This way we can keep the AP's trully idle
- the timer is restarted a little later before leaving to userspace
- LAPIC_TIMER_ICR is written before LAPIC_LVTTR so the newest value is
used
Tomas Hruby [Tue, 19 Oct 2010 17:07:21 +0000 (17:07 +0000)]
spurious and error interrupt apic handlers
- fixed spurious and error interrupt handlers
- not to hog the system the warning isn't reported every time, just
once every 100 times, similarly for the spurious PIC interrupts
Tomas Hruby [Tue, 19 Oct 2010 17:07:19 +0000 (17:07 +0000)]
BSP apic id
- BSP apic id used uninitialized causes problems
Tomas Hruby [Tue, 19 Oct 2010 17:07:17 +0000 (17:07 +0000)]
panic in dummy apic handlers
- as panic can do the same as printf now, let's rather panic when a
dummy apic interrupt vector handler is hit
Tomas Hruby [Tue, 19 Oct 2010 17:07:11 +0000 (17:07 +0000)]
Fixed BKL statistics
Tomas Hruby [Tue, 19 Oct 2010 10:30:15 +0000 (10:30 +0000)]
PCI driver debug output fix
- bus number (busnr) must be used instead of internal busind
Tomas Hruby [Fri, 15 Oct 2010 22:21:01 +0000 (22:21 +0000)]
A klib.S include fix
- by Antoine Leca
Tomas Hruby [Fri, 15 Oct 2010 22:20:01 +0000 (22:20 +0000)]
acpi driver Makefile fix
- by Antoine Leca
Ben Gras [Fri, 15 Oct 2010 11:25:40 +0000 (11:25 +0000)]
<minix/hash.h>
Ben Gras [Fri, 15 Oct 2010 09:10:14 +0000 (09:10 +0000)]
vm - hash table for block cache
Ben Gras [Fri, 15 Oct 2010 09:09:29 +0000 (09:09 +0000)]
vm - fix for not placing region outside requested mmap addr
Erik van der Kouwe [Fri, 15 Oct 2010 08:53:22 +0000 (08:53 +0000)]
e1000: add 82574L ethernet adapter (thx Niek for your comments)
Ben Gras [Tue, 12 Oct 2010 11:26:47 +0000 (11:26 +0000)]
profile command - correct logic error
- this caused profile to complain about frequency when
no command (start, stop) was given.
Ben Gras [Mon, 11 Oct 2010 15:35:43 +0000 (15:35 +0000)]
mfs - no more WRITE_IMMED
Ben Gras [Sun, 10 Oct 2010 22:33:23 +0000 (22:33 +0000)]
change SSIZE_MAX to INT_MAX instead of 32767.
With this change, suggested by Gautam Tirumala, ports for pkgin and
pkg_install are cleaner and so easier to upstream. Presumably other
ports will be smoother too.
There doesn't seem to be a reason SSIZE_MAX was so small to begin with.
Erik van der Kouwe [Fri, 8 Oct 2010 12:50:52 +0000 (12:50 +0000)]
Fix select-related bugs: missing cancellations led to potentially forgetting notifies, especially in the case of async drivers
Erik van der Kouwe [Fri, 8 Oct 2010 09:33:18 +0000 (09:33 +0000)]
Add libdriver support for async ioctl replies
Ben Gras [Thu, 7 Oct 2010 10:04:05 +0000 (10:04 +0000)]
vm optimisation - maintain hint for new virtual region position.
Ben Gras [Wed, 6 Oct 2010 13:09:49 +0000 (13:09 +0000)]
include <sys/cdefs.h> in <minix/sysutil> (clang fix)
Erik van der Kouwe [Tue, 5 Oct 2010 07:25:47 +0000 (07:25 +0000)]
Fix warnings due to missing __dead attribute on exit
Erik van der Kouwe [Mon, 4 Oct 2010 20:19:40 +0000 (20:19 +0000)]
Fix warnings in libmthread
Ben Gras [Mon, 4 Oct 2010 19:12:55 +0000 (19:12 +0000)]
kernel: fix idle time accounting.
Erik van der Kouwe [Mon, 4 Oct 2010 17:53:18 +0000 (17:53 +0000)]
make system server vprintf check for NULL
Erik van der Kouwe [Mon, 4 Oct 2010 17:38:53 +0000 (17:38 +0000)]
fflush is neither needed nor allowed in system srvers, which is where SEF is used
Arun Thomas [Mon, 4 Oct 2010 13:37:46 +0000 (13:37 +0000)]
Add include/memory.h
Some ports expect that it exists.
Ben Gras [Mon, 4 Oct 2010 13:26:53 +0000 (13:26 +0000)]
dis386 - a disassembler for ack
- it can disassemble object files (dis386o) and executables
(dis386a)
- only useful for as long as we still have ack
Ben Gras [Mon, 4 Oct 2010 11:41:10 +0000 (11:41 +0000)]
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
Ben Gras [Mon, 4 Oct 2010 11:38:33 +0000 (11:38 +0000)]
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)
Arun Thomas [Sat, 2 Oct 2010 18:24:53 +0000 (18:24 +0000)]
Remove urlget
This patch gets rid of urlget. It's not used for anything now, since pkgin
uses fetch.
Arun
Ben Gras [Fri, 1 Oct 2010 14:39:04 +0000 (14:39 +0000)]
make the asynsend table size NPROCS-dependent.
this is a fix for e.g. the situation where lots of processes die
instantly, and PM has to send an asyn msg for each one to VFS, and
panics if there are too many. there are likely more situations in
which this table should be dependent on the no. of processes.
reported by pikpik on #minix3.
Thomas Veerman [Thu, 30 Sep 2010 13:44:13 +0000 (13:44 +0000)]
Revamp the mthread library and update test59
Before, the 'main thread' of a process was never taken into account anywhere in
the library, causing mutexes not to work properly (and consequently, neither
did the condition variables). For example, if the 'main thread' (that is, the
thread which is started at the beginning of a process; not a spawned thread by
the library) would lock a mutex, it wasn't actually locked.
David van Moolenbroek [Mon, 27 Sep 2010 13:19:25 +0000 (13:19 +0000)]
hgfs: do not return negative file sizes in stat (reported by Antoine Leca)
Tomas Hruby [Thu, 23 Sep 2010 14:42:30 +0000 (14:42 +0000)]
Watchdog and kernel profiling for AMD
- a different set of MSRs and performance counters is used on AMD
- when initializing NMI watchdog the test for Intel architecture
performance counters feature only applies to Intel now
- NMI is enabled if the CPU belongs to a family which has the
performance counters that we use
Tomas Hruby [Thu, 23 Sep 2010 14:42:26 +0000 (14:42 +0000)]
neg64() makes a 64bit integer negative
- neg64(a) == -a
- although we only support 64 bit unsigned arithmetics sometimes it's good to
have a 2-complement negative number
Tomas Hruby [Thu, 23 Sep 2010 14:42:19 +0000 (14:42 +0000)]
CPU type detection
- sometimes the system needs to know precisely on what type of cpu is
running. The cpu type id detected during arch specific
initialization and kept in the machine structure for later use.
- as a side-effect the information is exported to userland
Ben Gras [Thu, 23 Sep 2010 13:49:52 +0000 (13:49 +0000)]
cprofalyze - perl path fix.
Tomas Hruby [Thu, 23 Sep 2010 10:49:58 +0000 (10:49 +0000)]
Long (32 char) symbol names in sprofalyze
Tomas Hruby [Thu, 23 Sep 2010 10:49:57 +0000 (10:49 +0000)]
sprofalyze only warns when executables don't exist
- e.g. when acpi is not compiled, now we can include it
- the script still fails if a symbol from a non existent binary is
found in the profile log
Tomas Hruby [Thu, 23 Sep 2010 10:49:55 +0000 (10:49 +0000)]
sprofalyze detects what nm to use
Tomas Hruby [Thu, 23 Sep 2010 10:49:52 +0000 (10:49 +0000)]
Busy idle loop when profiling
- the Intel architecture cycle counter (performance counter) does not
count when the CPU is idle therefore we use busy loop instead of
halting the cpu when there is nothing to schedule
- the downside is that handling interrupts may be accounted as idle
time if a sample is taken before we get out of the nested trap and
pick a new process
Tomas Hruby [Thu, 23 Sep 2010 10:49:50 +0000 (10:49 +0000)]
sprofile exports kernel sample entries
- in case of kernel hit while proc_ptr is IDLE, account for idle time
instead of taking kernel sample
Tomas Hruby [Thu, 23 Sep 2010 10:49:48 +0000 (10:49 +0000)]
Internal 64M buffer for profiling
- when profiling is compiled in kernel includes a 64M buffer for
sample
- 64M is the default used by profile tool as its buffer
- when using nmi profiling it is not possible to always copy sample
stright to userland as the nmi may (and does) happen in bad moments
- reduces sampling overhead as samples are copied out only when
profiling stops
Tomas Hruby [Thu, 23 Sep 2010 10:49:45 +0000 (10:49 +0000)]
NMI sampling
- if profile --nmi kernel uses NMI watchdog based sampling based on
Intel architecture performance counters
- using NMI makes kernel profiling possible
- watchdog kernel lockup detection is disabled while sampling as we
may get unpredictable interrupts in kernel and thus possibly many
false positives
- if watchdog is not enabled at boot time, profiling enables it and
turns it of again when done
Tomas Hruby [Thu, 23 Sep 2010 10:49:42 +0000 (10:49 +0000)]
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
Tomas Hruby [Thu, 23 Sep 2010 10:49:39 +0000 (10:49 +0000)]
New profile protocol
- when kernel profiles a process for the first time it saves an entry
describing the process [endpoint|name]
- every profile sample is only [endpoint|pc]
- profile utility creates a table of endpoint <-> name relations and
translates endpoints of samples into names and writing out the
results to comply with the processing tools
- "task" endpoints like KERNEL are negative thus we must cast it to
unsigned when hashing
Tomas Hruby [Thu, 23 Sep 2010 10:49:36 +0000 (10:49 +0000)]
32bit process flags
- we are running out of space in 16bit flags
David van Moolenbroek [Thu, 23 Sep 2010 09:26:42 +0000 (09:26 +0000)]
libsys: tsc_to_micros support for large TSC delta values
Thomas Veerman [Thu, 23 Sep 2010 08:52:49 +0000 (08:52 +0000)]
Get rid of erroneous define
Ben Gras [Wed, 22 Sep 2010 14:31:51 +0000 (14:31 +0000)]
includes - minor compile fixes.
Ben Gras [Wed, 22 Sep 2010 14:31:06 +0000 (14:31 +0000)]
enable_fpu_exception() - only write cr0 if bit isn't already on.
(NMI profiling results indicate this both is relatively expensive and
happens a lot unnecessarily if the fpu is in use.)