Commit graph

5971 commits

Author SHA1 Message Date
Ben Gras
8f2749cca8 vfs: patch for unpause()/revive() race condition
. unpause() and revive() can race - revive() can run during
	  a device i/o unblock, causing two sendnb()s to occur, and the
	  2nd one to fail
	. this can easily happen when a process is blocking on tty and
	  is then killed by a signal - tty cancels the i/o and then
	  kills the process by a signal

Change-Id: Ia319acaedfa336b78c030a2c4af7246959bdcf87
2013-06-14 23:58:43 +02:00
Kees Jongenburger
a2fcba659c arm:remove pre 1:1 mapping workarounds.
Change-Id: I5a690cf5a561cdca9b9c1f031402f80fd203c92d
2013-06-12 16:42:20 +02:00
Kees Jongenburger
a5a693a046 arm:no longer rely on a 1:1 phys mapping for device memory.
Change-Id: Ie3f61069f882c37dbb81dee813fdfd883e7468cf
2013-06-12 16:42:12 +02:00
Anton Kuijsten
a74251eb16 allow ldd mmap fallback
Change-Id: Ia7b8aa88c3f063c804869065719ac0cbf049b7dd
2013-06-12 07:05:11 +00:00
Ben Gras
8d676bd0a8 is: leave newline for stacktrace for SF9 dump
. otherwise the standard console screen can't hold them

Change-Id: Iea2c047b715bc456747aace8957d8c5eeb94d0fa
2013-06-12 07:04:53 +00:00
Ben Gras
9e43052b21 inline sendnb should not call send vector
. also vfs has to reply to a vm call - so use asynsend for that

Change-Id: I30ac1e591191dea5c99e25b03151a4415d1151b0
2013-06-12 07:04:53 +00:00
Ben Gras
63306d0ad5 init: handle getty string of "" (default)
. the default entry for disabled ttys for getty
	  in /etc/ttys is "", but init crashed on handling that
	  string.

Change-Id: Ib7cd6c6869e338f47df0aa5abed36f15eda4f6ff
2013-06-12 07:04:53 +00:00
Ben Gras
93d9caa2d6 tty: i386: rs232 fix
. ignore interrupt (stop interrupt check loop) if
	  interrupt bit not set; limit loop too
	. mask off other bits when testing bits in the status register
	. this fixes rs232 output that would otherwise never get re-triggered
	  as too many bits were set in the status byte to match the
	  possibilities.

Change-Id: I311c93377fa8fb477ee9a756455fdeda780e6ba1
2013-06-12 07:04:52 +00:00
Ben Gras
9178749e13 libc syslog, syslogd, logger, uds fixes
changes necessary for libc syslog() using a unix domain socket.

	. libc syslog: don't use send() connect() for unix
	  datagram sockets, minix wants write() and ioctl()
	. syslogd: listen on _PATH_LOG unix domain socket
	. logger: warnings fixes
	. pfs: make uds dgram socket type nonblocking so
	  syslog() doesn't block
	. vfs: add sanity check for empty fd in unpause()

Change-Id: Ied136c6fe0cc288f5a53478f1eebccc1ab1f39fb
2013-06-12 07:04:52 +00:00
Anton Kuijsten
1d71e39b73 Gold linker support for entire source tree 2013-06-11 22:51:02 +02:00
Thomas Cort
3d257f8073 Importing usr.bin/shuffle 2013-06-10 10:51:49 +02:00
Kees Jongenburger
b1e0ada171 arm:tty enable FIFO
Change-Id: Iaaa7c0bcb40c2cce2423c1defc14809ed6c70e9c
2013-06-05 19:19:38 +02:00
Lionel Sambuc
d554e8c073 libexec/fptd/ftpcmd.c: Removed as it is generated.
Change-Id: Id700ed9c2462e998f9c74482f80ee95b644a1399
2013-06-05 17:26:42 +02:00
Ben Gras
d579bb21f4 vm: bugfix: cover vfs_request-in-callback case
Change-Id: I16fccd9938fe8edab83c6c2e327d27d65ff20224
2013-06-05 15:02:56 +00:00
Thomas Cort
1d842c6a57 Importing libexec/fingerd 2013-06-02 08:14:05 -04:00
Thomas Cort
406cdd95a6 Importing usr.bin/finger 2013-06-02 09:52:40 +02:00
Thomas Cort
92f7a4ab20 Importing usr.bin/bdes 2013-06-02 09:52:35 +02:00
Qi Yong
c50a22578e remove vm_yield_block_get_block leftovers. 2013-06-01 20:51:31 +08:00
Ben Gras
4f3b015903 fix some warnings
Change-Id: I1f3fa582d8e3ddb3c981784dddb13e740102f4f3
2013-05-31 20:57:39 +00:00
Ben Gras
1cc6f4295d vm: handle disappearing process case
Change-Id: Id96759883e4cdb175c79dcef7ef5ff254612101f
2013-05-31 17:31:55 +00:00
Ben Gras
e92490cf47 ld.elf_so, grep, make: use mmap()
. let the dynamic linker use a real file mmap(), reverting
	  most of the minix-specific changes
	. except for a fallback mode for systems or filesystems that
	  do not support mmap() on files
	. make, grep: let them use mmap() too, with fallback

Change-Id: I11c0c9ad439d713917a6f5c2d196558f6c03eabd
2013-05-31 15:42:01 +00:00
Ben Gras
49b9165251 vm: mmap support
. test74 for mmap functionality
	. vm: add a mem_file memory type that specifies an mmap()ped
	  memory range, backed by a file
	. add fdref, an object that keeps track of FD references within
	  VM per process and so knows how to de-duplicate the use of FD's
	  by various mmap()ped ranges; there can be many more than there can
	  be FD's
	. turned off for now, enable with 'filemap=1' as boot option

Change-Id: I640b1126cdaa522a0560301cf6732b7661555672
2013-05-31 15:42:01 +00:00
Ben Gras
f369157d95 pfs, vfs: increase various limits
. pipes in pfs
	. vnodes in vfs
	. thread stack sizes in vfs

Change-Id: Ib27dedd42f57a90821a5b950cd7ea25cb2b42f3f
2013-05-31 15:42:00 +00:00
Ben Gras
33a7ac7557 vfs: mmap support
. libc: add vfs_mmap, a way for vfs to initiate mmap()s.
	  This is a good special case to have as vfs is a slightly
	  different client from regular user processes. It doesn't do it
	  for itself, and has the dev & inode info already so the callback
	  to VFS for the lookup isn't necessary. So it has different info
	  to have to give to VM.
	. libc: also add minix_mmap64() that accepts a 64-bit offset, even
	  though our off_t is still 32 bit now.
	. On exec() time, try to mmap() in the executable if available.
	  (It is not yet available in this commit.)
	. To support mmap(), add do_vm_call that allows VM to lookup
	  (to ino+dev), do i/o from and close FD's on behalf of other
	  processes.

Change-Id: I831551e45a6781c74313c450eb9c967a68505932
2013-05-31 15:42:00 +00:00
Ben Gras
924eb29565 fix inet warnings
Change-Id: Ia6e761d2c649f03a49b2646387f859d6c2a646cb
2013-05-31 14:30:52 +00:00
Thomas Cort
d8b7bfdfe8 Importing usr.bin/logname 2013-05-31 16:13:41 +02:00
Ben Gras
2d2a1a077d panic: declare as printf-style-checked
. and related fixes

Change-Id: I5131ac57dc53d8aec8d421a34c5ceea383404d7a
2013-05-31 13:35:25 +00:00
Ben Gras
5507a12d7c vfs: who_p fix
Change-Id: I0e04b6460907f5e67f6c90b2038d296d66b9a414
2013-05-31 09:28:38 +00:00
Ben Gras
edd50504e9 tcpd: waitpid() for any child process
. prevents zombies from accumulating for as long as tcpd exists
	  for child processes that create their own process group, e.g. ftpd.

Change-Id: Ic56597810f7d17e1cc28b755e2d1998ecf49a27c
2013-05-30 19:41:45 +00:00
Ben Gras
62da011387 import netbsd ftpd
Change-Id: Id7a3dbd40a6f37c55bcbb0d1456301f60626298f
2013-05-30 16:29:20 +00:00
Kees Jongenburger
eb1e5bf042 build:arm allow to store build settings in a .settings file.
If present a file called .settings will be sourced when
calling the arm_sdimage.sh script. This allows to configure
the build setting for arm build without the need to specify
the flags each time arm_sdimage.sh is called.

For example to configure arm_sdimage.sh to target the
beaglebone put the following content in your .settings file.

BASE_URL=http://www.minix3.org/arm/beaglebone
FLAG=-DAM335X
CONSOLE=tty00

Change-Id: Ide0341a255bc7f41dc5c30d0a43e71b01a8ea55c
2013-05-30 13:01:05 +02:00
Xiaoguang Sun
26428d4bc6 Add acpi poweroff
Use acpi poweroff if it's possible.

Change-Id: I103cc288523bf63fa536750b1d408ac88bbe35fb
Signed-off-by: Ben Gras <ben@minix3.org>
Signed-off-by: Tomas Hruby <tom@minix3.org>
2013-05-29 16:12:33 +00:00
Ben Gras
4fb3945025 vm: a bit more informative about failed pagefaults
Change-Id: I2b72dfb9291670cb837dfdb279f519892575d4a6
2013-05-29 15:25:45 +00:00
Ben Gras
624e7c37d7 gen_uEnv.txt.sh shell neutraling
Change-Id: I52d5ac548373db1c4db9af79a24c2c9e2c1c1dcb
2013-05-29 12:10:22 +00:00
Thomas Cort
0d70265775 syslog.conf: correct PID file path in comments.
The syslogd.pid file has moved from /usr/run to /var/run. The comments
in syslog.conf direct the user to restart syslogd using the old PID
file location. This patch updates the comment to match the code.

Change-Id: Ib40cd1199ce201e1cbc74e1f1393d55a166ef343
2013-05-28 23:04:50 +02:00
Lionel Sambuc
f0d23d912d servers/pm: Fix EFAULT check for SETGROUPS
The previous test would return EFAULT as soon as the group pointer
was NULL, while it is sensible when the count is also 0.

In that case, the SETGROUP syscall is expected to clear all the
group entries as the new set is empty.

Change-Id: I07b7e1d1f023a52e3035d53f7d9b42b660e039e8
2013-05-28 21:07:04 +02:00
Qi Yong
61f6e2f5f0 fix some comment typo's
Change-Id: Ic9f4333613abb858bfc28f72685424557cf2cd40
2013-05-26 14:12:54 +00:00
Kees Jongenburger
5e5ea947e8 arm:build add flags for AM335X
Change-Id: I1fd25d5ada52972fd2f6ec5057ff273544c65390
2013-05-24 15:47:04 +02:00
Kees Jongenburger
ffea6706f0 arm:also use 1MB sections for mapping AM335X device memory.
Change-Id: Idc0b285fcbabe8ec4c0be9a600b6a720c0bd3ffc
2013-05-24 15:47:04 +02:00
Kees Jongenburger
758c8eaf41 arm:adapt MMC driver to also work on the AM335X platform.
Change-Id: I30e69b7bfd377d1dd2b0b458dd00ee411b060285
2013-05-24 15:47:04 +02:00
Kees Jongenburger
0748a95f88 arm:mmc only compile mmchs when targeting arm.
Change-Id: Ie8d0b6461b58c2a7becda98401dece81be607a01
2013-05-24 15:46:59 +02:00
Kees Jongenburger
742cf53aa9 arm:adapt tty driver for AM335X.
Change-Id: Ic861d68d0576c2abcdcb265a450c013ea2b28499
2013-05-24 14:03:14 +02:00
Kees Jongenburger
167c4d972f arm:build also generate cmdline.txt
Also generate cmdline.txt as we need to use a different serial
for the AM335X boards.

Change-Id: I18c1b5911b5d7238d4a765e0aa01613908d9f2e6
2013-05-24 14:03:14 +02:00
Kees Jongenburger
3139ce9631 arm:omap timers remove hardcoded base address.
Omap timers remove hardcoded base address and add some initial
support for the beaglebone's timers. Frclock_util will need
refactoring to remain independent of the ARM flavour.

Change-Id: I2b5d04e930364262c81b5686de634c0a51796b23
2013-05-24 14:03:14 +02:00
Kees Jongenburger
534b19187e arm:configure tick per ms to reflect the free running clock.
Change-Id: Ifc02658d6ae48dd01a868bfaa3d60f77bc6cc800
2013-05-24 13:59:04 +02:00
Kees Jongenburger
2856cec5b9 arm:interupt handling remove hardcoded base address.
Remove hardcoded base address for the omap interrupt handler and add
interrupt names for AM335X in omap_intr.h.

Change-Id: Ie606d8612f55990d55f9db655583052f53950e8e
2013-05-24 13:59:04 +02:00
Kees Jongenburger
c40df92bf2 arm:add AM335X serial
Change-Id: I728622ddd4f59529d15e8ac2499c41fa815eee3b
2013-05-24 11:17:52 +02:00
Kees Jongenburger
69dc6a4f15 arm:keep kernel and modules in the first 256MB of memory.
Keep kernel and modules in the first 256MB of memory in preparation
for the beaglebone. That target only has 256 MB of memory.

Change-Id: I3d92247b5d4e5d3aab7388fe01c2f5713d6a4593
2013-05-24 11:17:52 +02:00
Kees Jongenburger
571ea5b4d7 arm:remove hardcoded base address for the in kernel serial.
Removed hardcoded base address for in kernel serial. This will ease
porting to different boards and allow us to remap i/o at later stage.

Change-Id: I4a4e00ed2aa2f94dfe928dc43a6816d3b94576b7
2013-05-24 11:17:52 +02:00
Kees Jongenburger
5d15ac7c20 arm:kernel simplify the in kernel serial.
Simplify the in kernel serial header to a minimum. The driver doing
the real handling is the tty driver.

Change-Id: I5d487d71a3d22906313aa8af5e9d84b0751a6868
2013-05-24 11:17:52 +02:00