Commit Graph

1278 Commits

Author SHA1 Message Date
David van Moolenbroek
5d259c7f93 libc: enable setproctitle(3)
Change-Id: I31bbc5d960c60f7347424ce3d8f4bce89b396339
2014-10-03 10:01:03 +00:00
David van Moolenbroek
e985b92992 Import libevent
Change-Id: Ic75f4cac5eb07ffaba8f97d10673d7d7e2b1762d
2014-10-03 10:00:53 +00:00
David van Moolenbroek
1dcfbcd173 Remove support for call profiling
The entire infrastructure relied on an ACK feature, and as such, it
has been broken for years now, with no easy way to repair it.

Change-Id: I783c2a21276967af115a642199f31fef0f14a572
2014-09-30 12:39:03 +00:00
David van Moolenbroek
ad80a203db Move clock_time into libsys
Change-Id: Ibc5034617e6f6581de7c4a166ca075b3c357fa82
2014-09-18 12:46:26 +00:00
David van Moolenbroek
81db4f2cff libpuffs: use libfsdriver
Change-Id: I26651578066e1098dc275a9cfbe5710870a13811
2014-09-18 12:46:25 +00:00
David van Moolenbroek
89c9de7d09 Add libfsdriver: a library to drive file systems
This library provides new abstractions for the upper (VFS) side of
file system services, and should be used for all file system service
implementations from now on.  It provides the following functionality:

  - a function call table abstraction, hiding the details of the
    VFS-FS protocol with simple parameters;
  - a (currently limited) number of per-function steps required for
    all file system implementations, such as copying in and out path
    names and result buffers;
  - a default implementation for multicomponent path lookups, such
    that the file system merely has to implement resolution of single
    components at a time;
  - an abstraction for copying data from and to the file system, which
    allows transparent intraprocess copying as required for the lookup
    implementation;
  - a set of functions to simplify getdents implementations.

The message loop provided by the library is currently for use by
single-threaded file system implementations only.  Multithreaded file
system services may use the more low-level message processing
functionality.

Protocol-level optimizations such as including names in protocol
messages may be hidden entirely in this library.  In addition, in the
future, the lookup implementation may be replaced by a single-
component lookup VFS/FS protocol request as part of a VFS name cache
implementation; this, too, can be hidden entirely in this library.

Change-Id: Ib34f0d0e021dfa3426ce8826efcf3eaa94d3ef3e
2014-09-18 12:46:23 +00:00
Lionel Sambuc
31b808b8fa Drop minix-malloc & friends
Known limitations:
 - comment for now testisofs, as iso9660fs is known to be broken.

Benefits:
 - near 3x speed improvement on C++ code compilation, bringing down
   make build to from 44min down to 21min.

 - Allows for X applications to work properly, which should be available
   in near-term future through pkgsrc for 3.3.0.

Change-Id: I8f4179a7ea925ed381642add32cfd8c5822217e4
2014-09-08 17:30:18 +02:00
Ben Gras
bad58c9c51 merge libminlib with libc
Change-Id: I79cc4ea90c378a1da3dac16487b53034953827a7
2014-08-28 18:49:19 +02:00
Ben Gras
c2808d8b07 remove libcompat_minix as library
. get rid of includes in libcompat_minix:
	  . move configfile.h to minix/include/
	  . all others are unneeded as they point to other files
	. merge the .c files with libc

Change-Id: I5e840c66fb9bc484f377926aa9d66473bbd16259
2014-08-28 18:49:13 +02:00
Lionel Sambuc
433d6423c3 New sources layout
Change-Id: Ic716f336b7071063997cf5b4dae6d50e0b4631e9
2014-07-31 16:00:30 +02:00
Lionel Sambuc
6082b2b4de Message type for COMMON_REQ_GCOV_DATA.
Change-Id: I97d31059990e33411a685d5d8191c728a02e7d0f
2014-07-28 17:06:28 +02:00
Lionel Sambuc
43d985050c Use one message type for all BDEV request.
There are missing field assignements, and/or messsages being re-used
without re-initializations, which allows for fields to be implicitly
forwarded.

This prevents me from creating per request message types, as I can't
spend currently any more time debugging this issue.
2014-07-28 17:06:28 +02:00
Lionel Sambuc
0522c9d0c1 Message type for BDEV_REPLY.
Change-Id: I48ca5a4f77cc9e924e8aee2fe6c32e0da9b42560
2014-07-28 17:06:27 +02:00
Lionel Sambuc
8644f25feb Message type for SYS_PROFBUF.
Change-Id: I10c1e878b0e3ff9bfc52709cc87dace632fa3e4f
2014-07-28 17:06:27 +02:00
Lionel Sambuc
64fb3a184c Message type for SYS_CPROF and PM_CPROF.
Change-Id: I2dc3d9d95c2a2b4c5fdbceae359b0be2bbdf9fb5
2014-07-28 17:06:26 +02:00
Lionel Sambuc
8ad307eeed Message type for SYS_SPROF and PM_SPROF.
Change-Id: I598f88af47737be0172236fa9ad24058b50d3942
2014-07-28 17:06:26 +02:00
Lionel Sambuc
9ea21ea158 Message type for SYS_DIAGCTL.
Change-Id: Icdaa84847f8c75f5af6612dda3326f800166e0d7
2014-07-28 17:06:25 +02:00
Lionel Sambuc
93b1819dac Message type for SIGS_SIGNAL_RECEIVED.
Change-Id: I5c13ff06e0203a98d4087829308d03020f302542
2014-07-28 17:06:25 +02:00
Lionel Sambuc
f45c6b86cb Message type for SYS_READBIOS.
Change-Id: Id19f658f5eb5f350e3e19f9ce3f8ae80aea23c51
2014-07-28 17:06:25 +02:00
Ben Gras
5d0e31dbb3 custom message req & reply types for ds 2014-07-28 17:06:24 +02:00
Ben Gras
c727357664 custom types for RS_INIT, RS_UPDATE, and others 2014-07-28 17:06:23 +02:00
Ben Gras
9961d3d3e5 custom message types for safecopy calls 2014-07-28 17:06:23 +02:00
Ben Gras
c24f718bb4 custom message type for VM_UNMAP_PHYS 2014-07-28 17:06:23 +02:00
Ben Gras
6af75e6660 custom message type for vm_map_phys 2014-07-28 17:06:22 +02:00
Ben Gras
8c2ac80abd custom message type for VM_BRK 2014-07-28 17:06:22 +02:00
Ben Gras
7cb7ac5b42 use custom mmap struct type directly 2014-07-28 17:06:21 +02:00
Ben Gras
3610b3b1a6 custom message type for SYS_DEVIO 2014-07-28 17:06:21 +02:00
Ben Gras
fce93dad32 custom message type for SEMOP 2014-07-28 17:06:21 +02:00
Ben Gras
c476408dea custom message type for SHMCTL, SEMCTL, SEMGET 2014-07-28 17:06:20 +02:00
Ben Gras
e57d31d331 custom messages for SHMAT, SHMDT 2014-07-28 17:06:20 +02:00
Ben Gras
8627d33a42 custom message for SHMGET 2014-07-28 17:06:19 +02:00
Ben Gras
0881781e60 custom message for vm_query_exit 2014-07-28 17:06:19 +02:00
Ben Gras
93422a1f4c custom message for vm_update 2014-07-28 17:06:19 +02:00
Ben Gras
9e2efbd73d custom message type for VM_INFO 2014-07-28 17:06:18 +02:00
Ben Gras
3c88d20cb5 custom message type for VM_QUERY_EXIT 2014-07-28 17:06:18 +02:00
Ben Gras
01a50f57d8 custom message type for VM_GETREF 2014-07-28 17:06:17 +02:00
Ben Gras
28b5360df7 custom message type for VM_GETPHYS 2014-07-28 17:06:17 +02:00
Ben Gras
324fc1f604 custom message type for VM_SHM_UNMAP 2014-07-28 17:06:17 +02:00
Ben Gras
e3a0e6c3c3 custom message type for VM_REMAP, VM_REMAP_RO 2014-07-28 17:06:16 +02:00
Cristiano Giuffrida
d9cd49c332 sef: Add fault injection (and EDFI) support. 2014-07-28 17:06:06 +02:00
Ben Gras
33c4e94990 Empty libgcc_s.
This library is built just so that something is present in
/usr/lib/libgcc_s.so.1.  This is needed for dynamically programs built
with gcc, which might reference that library at runtime (i.e. all pkgsrc
packages). The necessary symbols are in libc however, so when built on a
clang-only system, so an empty library is a working stopgap.
2014-07-28 17:06:03 +02:00
Lionel Sambuc
4684ddb6aa LLVM Minix changes
- import libcxx
 - reduce targets to the one when compiled as a tools

Change-Id: Iabb8427f80ff8e89463559a28bcb8b4f2bdbc496
2014-07-28 17:05:59 +02:00
David van Moolenbroek
69cba46141 libc: make ttyname(3) use devname(3)
There was an off-by-one in the old MINIX-specific implementation,
which caused ttyname(3) to fail at random. Since we now have a working
devname(3), there is no need for MINIX-specific code anymore here.

Change-Id: I27d8b6c4f66c84f383156ed494b740d071af02a7
2014-07-28 17:05:53 +02:00
Lionel Sambuc
b41d3ab74e Message type for CDEV_{READ,WRITE,IOCTL}
Change-Id: Ia89c98410d3775fe3b6621576eadd186d60ec894
2014-07-28 17:05:52 +02:00
Lionel Sambuc
ca7231fbef Message type for CDEV_SELECT
Change-Id: I74e67ef2206102fe4686efb35d1aaf42db5cd236
2014-07-28 17:05:52 +02:00
Lionel Sambuc
3e6f0b3e98 Message type for CDEV_CANCEL
Change-Id: I4a58f314e140c043392503c079e3d9b994c50b2f
2014-07-28 17:05:52 +02:00
Lionel Sambuc
e7f5493031 Message type for CDEV_{OPEN,CLOSE}
Change-Id: Ie58511aef2da968129a405a4ad44d0330a2adcb2
2014-07-28 17:05:52 +02:00
Lionel Sambuc
0edd2b252a Message type for CDEV_SEL{1,2}
Change-Id: I4857363a62eeede2e137f3354566699b08cb235d
2014-07-28 17:05:52 +02:00
Lionel Sambuc
79b594a2e9 Message type for CDEV_REPLY
Change-Id: I555bf35a43c59e7d7b6180b625021b3c13bbeaa3
2014-07-28 17:05:52 +02:00
Lionel Sambuc
4091fdf5c4 Message type for TTY_FKEY_CONTROL
Change-Id: Ic7a8901089f14f65e840bd88b087b733c3e3bdee
2014-07-28 17:05:51 +02:00
Wojciech Zajac
bfff07c918 Memory related fixes for DDE/USBD
DDEKit has proper thread termination now. No more memory leaks on usb stick removal.

MUSB fixes for IRQ and memory mapping.
2014-07-28 17:05:51 +02:00
Lionel Sambuc
5277fbe9f6 Message type for SYS_CLEAR
Change-Id: I3d894edcf672d180aee38fd84bd06339bdf7fa9b
2014-07-28 17:05:49 +02:00
Lionel Sambuc
886c867c38 Message type for SYS_EXEC
Change-Id: I349e28b8bb3705386f04e4860cffc6ed74a5532f
2014-07-28 17:05:49 +02:00
Lionel Sambuc
cc0c1fbd75 Message type for SYS_FORK
Change-Id: Ibcf4fdfec51129b2be3d667ec07aea0f42e3fd89
2014-07-28 17:05:49 +02:00
Lionel Sambuc
2027f8bc78 Message type for SYS_{S,G}ETMCONTEXT
Change-Id: I388eee89ba8cc6e6603b3193297b81179c1e6975
2014-07-28 17:05:49 +02:00
Lionel Sambuc
f06c676a47 Message type for SYS_SETGRANT
Change-Id: I542f839d7992d3348fef19c51bfcb58bb408d9f4
2014-07-28 17:05:48 +02:00
Lionel Sambuc
dd2552d6d4 Message type for SYS_PRIVCTL
Change-Id: I5bf4d88ca571f2a701e426aae67c6b04705ce511
2014-07-28 17:05:48 +02:00
Lionel Sambuc
f7c72375ea Message type for SYS_STATECTL
Change-Id: I19443aa018d6c670e2b44f1f98bce2fb297a7f21
2014-07-28 17:05:48 +02:00
Lionel Sambuc
333fd250f5 Message type for SYS_TRACE
Change-Id: Ib579fab949b76797ea7d6cb5ff4ae3d9b32f630c
2014-07-28 17:05:48 +02:00
Lionel Sambuc
c59c5caceb Message type for SYS_SETTIME
Change-Id: I10c2c27c0c9749b49d70735175e530b4341440dc
2014-07-28 17:05:48 +02:00
Lionel Sambuc
9d1ed02a04 Message type for SYS_STIME
Change-Id: Ic4401e736bb66960e2ea4b30f5e1946dd93fd76e
2014-07-28 17:05:48 +02:00
Lionel Sambuc
1ca0b449b2 Message type for SYS_TIMES
Change-Id: Ia408aa7d76c47da9f600a724f82b347ba6ac641b
2014-07-28 17:05:47 +02:00
Lionel Sambuc
dcb7493a05 Message type for SYS_GETINFO and SYS_GETWHOAMI
Change-Id: I9cea3f65b29e30555c8b47865e12c7d19a74a3c3
2014-07-28 17:05:47 +02:00
Lionel Sambuc
f1dff35292 Message type for SYS_VUMAP
Change-Id: I9accdf887c119566429ab0803436b068729bcd85
2014-07-28 17:05:47 +02:00
Lionel Sambuc
dc823abec2 Message type for SYS_UMAP{,_REMOTE}
Change-Id: Id46df10aee6189a0d3673013b498c7cc79edcc7e
2014-07-28 17:05:47 +02:00
Lionel Sambuc
5735105bc8 Message type for SYS_{VIR,PHYS}COPY
Change-Id: I15d1acf9992d1b799f5687adffb186875fcd0c84
2014-07-28 17:05:47 +02:00
Lionel Sambuc
05f155c0a9 Message type for SYS_IOPENABLE
Change-Id: I8b089c30c7f9ae75e404f63495bbb199d583f1cd
2014-07-28 17:05:47 +02:00
Lionel Sambuc
e412a58209 Message type for SYS_ABORT
Change-Id: Ic24a4779cc7955cb94f81fec58a358057ca85cb1
2014-07-28 17:05:46 +02:00
Lionel Sambuc
b3085e334c Message type for SYS_IRQCTL
Change-Id: Idef5a1e49aea3eea690e2a9bf046348766a8b944
2014-07-28 17:05:46 +02:00
Lionel Sambuc
30eae10274 Message type for SYS_SETALARM
Change-Id: I2c2ee24c19085cbd1e7ffba7b2db714b2561ff17
2014-07-28 17:05:46 +02:00
Lionel Sambuc
85e7cb92a9 Message type for SYS_VDEVIO
Change-Id: I62ceb5d487c5acd08cb100f340dd387e733180b4
2014-07-28 17:05:46 +02:00
Lionel Sambuc
a8c16a502a Message type for SYS_SDEVIO
Change-Id: I2d60a2ccad325236998a7f9af9b4e82fe0c8131f
2014-07-28 17:05:46 +02:00
Lionel Sambuc
3ed35f3958 Message type for SYS_MEMSET
Change-Id: Icebd04e0c53d9653301550bb598df8719aa66ada
2014-07-28 17:05:46 +02:00
Lionel Sambuc
ec130c9b4b Message type for {PM,VFS,RS,DS}_GETSYSINFO
Change-Id: I64d89f8a1c4704d0d0f420eb1e434cc96fd6351a
2014-07-28 17:05:45 +02:00
Lionel Sambuc
948a5389f9 Message type for SVRCTL
Change-Id: Ibdb9edb9878e06cf2a641ffc3975f878a6e41dfb
2014-07-28 17:05:45 +02:00
Lionel Sambuc
6c313721d3 Message type for {PM,VFS,VM}_GETRUSAGE
Change-Id: I793d2e9fa8eb0562a46ccbd81aae3dbb517671cc
2014-07-28 17:05:44 +02:00
Lionel Sambuc
1a943bea52 Message type for INPUT_SETLEDS
Change-Id: I84ee6ee43d771409526468ce45f1ddc27e9ca986
2014-07-28 17:05:44 +02:00
Lionel Sambuc
4ed3f29e7f Message type for INPUT_EVENT
Change-Id: I50a815623ff4a9b6b0113000a798a3495c911ecf
2014-07-28 17:05:44 +02:00
Lionel Sambuc
bcd669222a Message type for INPUT_CONF
Change-Id: Ib25bd7e9717f203316e303d4f5a411d314ce46ed
2014-07-28 17:05:44 +02:00
Lionel Sambuc
3a82a3f90a Message type for BUSC_I2C_EXEC
Change-Id: I4b6e33df2dd70d40af4a2f2c899324a40107c56a
2014-07-28 17:05:44 +02:00
Lionel Sambuc
b8e631ff13 Message type for BUSC_I2C_RESERVE
Change-Id: Iedc2615b41c65f826868a70448fb1143bd85670f
2014-07-28 17:05:43 +02:00
Lionel Sambuc
ff905e5276 Message type for BUSC_PCI_GET_BAR
Change-Id: I5cb21f09a2c80473101f8da3f435e4dcc3b05491
2014-07-28 17:05:43 +02:00
Lionel Sambuc
b562831340 Message type for SCHEDULING_STOP
Change-Id: I372c6b9146b459698a0cead68d7cdd53ea074d77
2014-07-28 17:05:43 +02:00
Lionel Sambuc
9f350d76ef Message type for SCHEDULING_{START,INHERIT}
Change-Id: Iad2b4079f72488ea3c3abef2b4a4fefe26ae9066
2014-07-28 17:05:43 +02:00
Lionel Sambuc
b694a09a53 Message type for SCHEDULING_NO_QUANTUM, SYS_SCHEDULE
Change-Id: Ia0f2689067159b4d821092d4ac60efa75e396f7c
2014-07-28 17:05:42 +02:00
Lionel Sambuc
8ba159d242 Message type for SYS_SCHEDCTL
Change-Id: Iaccbac1ef99124bc494b835e0d0cf999ea2e3f5a
2014-07-28 17:05:42 +02:00
Lionel Sambuc
b90d99dab3 Message type for PM_{KILL,SIGACTION}
Change-Id: I7fac9a894e319671e12bfa7430984ca1cf24da33
2014-07-28 17:05:42 +02:00
Lionel Sambuc
dbfa59164b Message type for PM_SRV_KILL
Change-Id: I2d74b68db2d006dd375732a7932f20c2cf6a342a
2014-07-28 17:05:42 +02:00
Lionel Sambuc
9a4c1520cf Message type for PM_SIG{RETURN,SUSPEND,PROCMASK}
Change-Id: Id20352db47892eb6b870ea64ba52b3b1a293cbaa
2014-07-28 17:05:42 +02:00
Lionel Sambuc
6495d409d6 Message type for PM_EXIT
Change-Id: Ie78768d95358a701268129587074a48493cf5bbc
2014-07-28 17:05:42 +02:00
Lionel Sambuc
f88b0001ba libsys/sef.c: cleanup around sef_exit
- use weak_alias for _exit and __exit instead of stub functions
 - remove fallback on PM_EXIT, as sys_exit can't fail, and we busy loop
   afterwards if that fails too. There is no reason that a PM_EXIT would
   work for a driver or server when sys_exit failed anyway.

Change-Id: I0327fb5c6fba25687cc9dc99fbf9c6d4db7d26e8
2014-07-28 17:05:41 +02:00
Ben Gras
a65d06ef80 libminixfs: fix assert
Came across this bug.

 . setcache assert should be when block currently isn't in use,
   as setcache happens when buf becomes unused
2014-07-28 17:05:41 +02:00
Lionel Sambuc
ecad34966a Fix ARM floating point for services
Change-Id: Ic5772a7a78ea13ab6bb8db3ffd7f0906fd1380cf
2014-07-28 17:05:40 +02:00
Lionel Sambuc
048d0f0d62 Message type for PM_EXEC
Change-Id: I6738716ba835d6196519056bb77afa8ec99f122a
2014-07-28 17:05:38 +02:00
Lionel Sambuc
e1986cd160 Message type for PM_MCONTEXT
Change-Id: I4ab9fc23ce8d78e03582580feba5ba96541f0f7e
2014-07-28 17:05:37 +02:00
Lionel Sambuc
ca31c1caae Message type for PM_GETSID
Change-Id: Ife3f9f6a7b6190baca6f379f7d3c36388baf6904
2014-07-28 17:05:37 +02:00
Lionel Sambuc
f63d2f0eaf Message type for PM_GETPID
Change-Id: Ib3ff13ad9c9e30bde08d4cacb6905955ace73924
2014-07-28 17:05:37 +02:00
Lionel Sambuc
cc852e7783 Message type for PM_SET{,E}GID
Change-Id: I489d9290553b28361344e0cfd59c31e7e672c22c
2014-07-28 17:05:37 +02:00
Lionel Sambuc
a6c5528e96 Message type for PM_SET{,E}UID
Change-Id: I5421646713e74562400e705b4a0f8b99f1325d64
2014-07-28 17:05:37 +02:00
Lionel Sambuc
b9939b3ed8 Message type for PM_GETGID
Change-Id: If3f788b0ad5a7389a62ecec3da78d6d71090f9a8
2014-07-28 17:05:37 +02:00