Giacomo Tesio
bfb95a3d3e
libposix: drafted chdir, fchdir and mkdir
2017-08-23 04:05:31 +02:00
Giacomo Tesio
4de95c9bc0
libposix: make AT_FDCWD value configurable
2017-08-23 02:57:41 +02:00
Giacomo Tesio
4455658796
libposix: drafted chmod/fchmod; TODO: configurable AT_FDCWD
2017-08-23 01:05:54 +02:00
Giacomo Tesio
6a94e587a6
libposix: fix POSIX_open's DMDIR management; fix typo in POSIX_chmod
2017-08-22 22:42:38 +02:00
Giacomo Tesio
965d316ac4
libposix: return PosixENOTDIR according to O_DIRECTORY specification
2017-08-22 02:34:00 +02:00
Giacomo Tesio
9947978c05
libposix: implemented libposix_getdents
2017-08-22 01:42:33 +02:00
Giacomo Tesio
63b227be55
elf64ldseg: do not pprint warnings on wrong header as it could simply be an rc script
2017-08-21 23:59:40 +02:00
Giacomo Tesio
f7c3a41b11
libposix: drafted getdents
2017-08-21 01:05:40 +02:00
Giacomo Tesio
3916b222b5
libposix: fix typo
2017-08-21 00:52:57 +02:00
Giacomo Tesio
ea6b68588c
libposix: implemented getcwd, getlogin, getlogin_r, getpass, pread and pwrite
2017-08-21 00:20:12 +02:00
Giacomo Tesio
6dd00801dc
libposix: introduce pause() (still to be integrated in newlib)
2017-08-18 00:50:07 +02:00
Giacomo Tesio
6ce619a2e0
libc: sleep's argument must be unsigned
2017-08-16 00:58:21 +02:00
Giacomo Tesio
b9483decb0
libmemdraw: fix typo
2017-08-15 12:10:52 +02:00
Giacomo Tesio
e0e45fba5a
kernel: removed unreachable code in fault (CID: 155701)
...
If the user process does not have a segment holding the required addr
the fault function return early.
2017-08-15 01:07:48 +02:00
Giacomo Tesio
55a8a84d8d
kernel: fix potential overflow in updatecpu (CID 155825)
2017-08-15 00:54:15 +02:00
Giacomo Tesio
0b8a66f877
kernel: umem: fix img_get macro
...
The img_get macro used to subtract 1 to the argument provided before
computing the porinter to the image. I can't remember why it did so.
However the expression was wrong.
Coverity found the issue:
Operands don't affect result (CONSTANT_EXPRESSION_RESULT)
CID: 155616, 155606, 155598, 155597, 155596, 155587,
155580, 155578, 155577, 155576, 155568, 155566
Simply removing the subtraction seems the obvious fix.
2017-08-15 00:38:09 +02:00
Giacomo Tesio
b056df2da6
kernel: simplify sysnotify; should fix CID 156151 (Wrong sizeof argument)
2017-08-14 19:52:22 +02:00
Giacomo Tesio
17c9087965
kernel: fix typo in sysexec (CID 156141)
2017-08-14 19:34:34 +02:00
Giacomo Tesio
180da90a06
kernel: fix args crossing page boundaries in sysexec
...
Should also fix CID 155615 (Operands don't affect result)
2017-08-14 19:25:54 +02:00
Giacomo Tesio
21b5682a43
kernel: syspread: avoid negative offsets in dir reads
...
Should also fix CID 160109: Dereference after null check
2017-08-14 18:40:25 +02:00
Giacomo Tesio
da588d69ec
kernel: fpprocfork: fix CID 174315 (Missing break in switch)
2017-08-14 15:22:51 +02:00
Giacomo Tesio
8464d1a277
libmemdraw: fix CID 154389 (uninitialized variable)
2017-08-14 13:00:30 +02:00
Giacomo Tesio
93c784fa3f
libstdio: fix CID 174305 and CID 174302 (uninitialized variables)
2017-08-14 12:47:03 +02:00
Giacomo Tesio
033744b5be
kernel: awake: fix CID 174310: Out-of-bounds read
2017-08-13 21:59:03 +02:00
Giacomo Tesio
5f22403176
libstdio: fix uninitialized variable CID 174334
2017-08-13 21:50:44 +02:00
Giacomo Tesio
34e6b0adc2
kernel: boot: use "bootconsole" instead of "console" env var
2017-08-13 15:24:18 +02:00
Giacomo Tesio
c5466152f1
Revert "Revert "kernel: import sdahci from 9front""
...
This reverts commit ecc2125b28
.
2017-08-13 12:47:56 +02:00
Giacomo Tesio
93dfad6b0b
kernel: print proc info on addbroken
2017-08-12 23:32:35 +02:00
Giacomo Tesio
ecc2125b28
Revert "kernel: import sdahci from 9front"
...
This reverts commit d9975caeb0
.
2017-08-12 15:18:02 +02:00
Giacomo Tesio
aef20dca20
kernel: fix.c: fix inverted CHS bit
2017-08-11 06:12:44 +02:00
Giacomo Tesio
330b7cc217
awk: don't get into a infinite loop with eof while in string (thanks BurnZeZ)
2017-08-11 05:51:10 +02:00
Giacomo Tesio
d9975caeb0
kernel: import sdahci from 9front
2017-08-11 05:26:53 +02:00
Giacomo Tesio
c08d07bcde
libc: fix libthread by fixing RENDEZVOUS in qlock.c
2017-08-11 05:26:53 +02:00
Giacomo Tesio
6d242b3aa0
hjfs: import improvements from 9front
2017-08-11 05:09:34 +02:00
Giacomo Tesio
fa0a121f17
cmds.json: remove mc.c
2017-08-11 04:19:59 +02:00
Giacomo Tesio
34950f084e
cmds: remove old ms tool
2017-08-11 03:18:32 +02:00
Giacomo Tesio
a0f7e71d41
rc: do not mess up argv
2017-08-11 03:18:32 +02:00
Giacomo Tesio
93dde48355
kernel: deep refactoring and cleanup
...
This large commit address several issues
- removed 386 directory: Jehanne is 64bit only
- simplified kernel options management
- rewritten boot process
- ported memory related stuff from 9front's 9/pc64
- removed devacpi
- removed old code
- deep refactor of awake syscall
- removed MCACHE support for mount
- fix libc's setjmp/longjmp
2017-08-11 03:18:32 +02:00
Giacomo Tesio
1bc08b7631
kernel: rendezvous(~0, ...) unconditionally blocks
...
This commit introduce a special rendezvous point at (void*)~0 that
cannot be reached by any process, since it's not added to the
rendezvous group.
This turns the rendezvous syscall to a cheap way to block until
either a note or a wakeup from awake(2) occurs.
This new feature is used in libc's sleep: the test qa/kern/fork_chain
has shown that using a stack address as rendezvous point is not safe enougth
for sleep, since two different process forked from the same function can
call sleep with the same base pointer. This lead the wakeup variable in
jehanne_sleep to have the same address on both process.
TODO add a test that show this behaviour in the old code.
2017-07-21 01:49:00 +02:00
Giacomo Tesio
c13d386ab5
libaml: import 9front's improvements
2017-07-21 01:34:34 +02:00
Giacomo Tesio
83e3161789
kernel: fix ancient bug in GDT initialization
2017-06-08 04:03:32 +02:00
Giacomo Tesio
4f97f4a80b
qa: disable broken tests
2017-06-05 22:11:36 +02:00
Giacomo Tesio
87de13f1e0
kernel: mmuptpcheck: use less global memory
2017-05-31 01:10:18 +02:00
Giacomo Tesio
7108477c32
kernel: simplify mmuput
2017-05-30 22:41:44 +02:00
Giacomo Tesio
28c426055d
libposix: fix disposition for signals that are ignored by default
2017-05-30 01:15:25 +02:00
Giacomo Tesio
6bd285bdaa
libposix: fix SIGCLD disposition; use PosixSIGCHLD to identify the signal when SIGCHLD == SIGCLD
2017-05-30 00:49:28 +02:00
Giacomo Tesio
c45cffeaf5
cmd: fix ancient bug on consolefs flush
2017-05-30 00:11:34 +02:00
Giacomo Tesio
e525113266
libposix: cleanups
2017-05-29 23:27:30 +02:00
Giacomo Tesio
d1e285f721
libposix: honor SIG_IGN by doing nothing (DRAFT)
2017-05-29 02:04:48 +02:00
Giacomo Tesio
f6d44667f2
libposix: fix bind #p and POSIX_kill sigrtmin/sigrtmax usage
2017-05-29 01:11:07 +02:00