Liav A
e301af8352
Everywhere: Purge all support and usage of framebuffer devices
...
Long live the DisplayConnector object!
2022-05-05 20:55:57 +02:00
Liav A
aad968cc5e
Everywhere: Rename fb prefix function names => graphics_connector
2022-05-05 20:55:57 +02:00
Liav A
10adc27eda
Everywhere: Rename FB prefix structure names => Graphics
2022-05-05 20:55:57 +02:00
Liav A
d2e93ec50a
Everywhere: Rename FB prefix name ioctls => GRAPHICS
2022-05-05 20:55:57 +02:00
Liav A
4ff6150f1b
WindowServer: Use FB_IOCTL_FLUSH_HEAD to flush a framebuffer if possible
...
This ioctl is more appropriate when the hardware supports flushing of
the entire framebuffer, so we use that instead of the previous default
FB_IOCTL_FLUSH_HEAD_BUFFERS ioctl.
2022-05-05 20:55:57 +02:00
Liav A
6d7e2596e0
WindowServer: Implement mechanism to restore safe mode setting
...
Such mechanism will be used by the Intel Graphics driver, because we
lack support of changing the resolution on this driver currently, so,
when WindowServer will try to mode-set the display then it will fail,
and will use the safe mode-setting call instead to be able to show
something on screen.
2022-05-05 20:55:57 +02:00
Liav A
d9a2706079
DisplaySettings+WindowServer: Add support for display connector devices
2022-05-05 20:55:57 +02:00
Tim Schumacher
0ce43fae9c
Kernel: Add IPv4 network class masks
2022-05-05 20:47:38 +02:00
Tim Schumacher
7dd4648565
Kernel: Add IPsec ESP and AH protocol numbers
2022-05-05 20:47:38 +02:00
Tim Schumacher
098af0f846
Kernel: Properly define IOV_MAX
2022-05-05 20:47:38 +02:00
Tim Schumacher
6d59d4d3d9
Kernel: Add the remaining POSIX MADV_*
constants
2022-05-05 20:47:38 +02:00
Tim Schumacher
94ab75d3df
Kernel: Add O_SYNC
into fcntl.h
2022-05-05 20:47:38 +02:00
Patrick Meyer
0bd131ad06
Kernel: Stop requiring working malloc for syscall.h includes
...
Fixes #13869
2022-05-02 12:44:34 +02:00
brapru
8596b1e0c3
Kernel: Add a global routing table
...
Previously the system had no concept of assigning different routes for
different destination addresses as the default gateway IP address was
directly assigned to a network adapter. This default gateway was
statically assigned and any update would remove the previously existing
route.
This patch is a beginning step towards implementing #180 . It implements
a simple global routing table that is referenced during the routing
process. With this implementation it is now possible for a user or
service (i.e. DHCP) to dynamically add routes to the table.
The routing table will select the most specific route when possible. It
will select any direct match between the destination and routing entry
addresses. If the destination address overlaps between multiple entries,
the Kernel will use the longest prefix match, or the longest number of
matching bits between the destination address and the routing address.
In the event that there is no entries found for a specific destination
address, this implementation supports entries for a default route to be
set for any specified interface.
This is a small first step towards enhancing the system's routing
capabilities. Future enhancements would include referencing a
configuration file at boot to load pre-defined static routes.
2022-04-28 08:41:11 -07:00
Andreas Kling
20d21fad7b
Kernel: Add ESTALE errno code (stale network file handle)
2022-04-26 14:05:49 +02:00
sin-ack
bc7c8879c5
Kernel+LibC+LibCore: Implement the unlinkat(2) syscall
2022-04-23 10:43:32 -07:00
Idan Horowitz
e84bbfed44
Kernel: Remove big lock from sys$mkdir
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
165a23b68c
Kernel: Remove big lock from sys$rename
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
5c064d3e8e
Kernel: Remove big lock from sys$rmdir
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
d4ce43cf45
Kernel: Remove big lock from sys$statvfs
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
4ae93179f1
Kernel: Remove big lock from sys$symlink
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
1474b18070
Kernel: Remove big lock from sys$link
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
fa360f7d88
Kernel: Remove big lock from sys$unlink
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
5a96260e25
Kernel: Remove big lock from sys$setsockopt
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
c2372242b1
Kernel: Remove big lock from sys$getsockopt
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
849c227f72
Kernel: Remove big lock from sys$shutdown
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
e620487b66
Kernel: Remove big lock from sys$connect
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
9547a8e8a2
Kernel: Remove big lock from sys$close
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
0297349922
Kernel: Remove big lock from sys$chown
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
8458313e8a
Kernel: Remove big lock from sys$fchown
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Idan Horowitz
f986a3b886
Kernel: Remove big lock from sys$bind
...
This syscall doesn't access any unprotected shared data.
2022-04-09 23:46:02 +02:00
Luke Wilde
1682b0b6d8
Kernel: Remove big lock from sys$set_coredump_metadata
...
The only requirement for this syscall is to make
Process::m_coredump_properties SpinlockProtected.
2022-04-09 21:51:16 +02:00
Jelle Raaijmakers
cc411b328c
Kernel: Remove big lock from sys$accept4
...
The only thing we needed to check is whether `socket.accept()` returns
a socket, and if not, we go back to blocking again.
2022-04-09 17:53:18 +02:00
Andreas Kling
12b612ab14
Kernel: Mark sys$adjtime() as not needing the big lock
...
This syscall works on global kernel state and so doesn't need protection
from threads in the same process.
2022-04-04 00:42:18 +02:00
Andreas Kling
4306422f29
Kernel: Mark sys$clock_settime() as not needing the big log
...
This syscall ends up disabling interrupts while changing the time,
and the clock is a global resource anyway, so preventing threads in the
same process from running wouldn't solve anything.
2022-04-04 00:42:18 +02:00
Andreas Kling
55814f6e0e
Kernel: Mark sys$sched_{set,get}param() as not needing the big lock
...
Both of these syscalls take the scheduler lock while accessing the
thread priority, so there's no reliance on the process big lock.
2022-04-04 00:42:18 +02:00
Andreas Kling
36d829b97c
Kernel: Mark sys$listen() as not needing the big lock
...
This syscall already performs the necessary locking and so doesn't
need to rely on the process big lock.
2022-04-03 22:22:22 +02:00
Andreas Kling
bc4282c773
Kernel: Mark sys$sendfd() and sys$recvfd() as not needing the big lock
...
These syscalls already perform the necessary locking and don't rely on
the process big lock.
2022-04-03 22:06:03 +02:00
Tim Schumacher
4ba39c8d63
Kernel: Implement f_basetype
in statvfs
2022-04-03 19:15:14 +02:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Liav A
b5ef900ccd
Kernel: Don't assume paths of TTYs and pseudo terminals anymore
...
The obsolete ttyname and ptsname syscalls are removed.
LibC doesn't rely on these anymore, and it helps simplifying the Kernel
in many places, so it's an overall an improvement.
In addition to that, /proc/PID/tty node is removed too as it is not
needed anymore by userspace to get the attached TTY of a process, as
/dev/tty (which is already a character device) represents that as well.
2022-03-22 20:26:05 +01:00
int16
4307c4480e
Kernel: Define MS_WXALLOWED mount option
2022-03-22 12:20:19 +01:00
Brian Gianforcaro
f47c92bd2e
Kernel: Mark serenity_dev_
functions as static
...
This avoids multiple definition errors when linking software which
may utilize these functions from different compilation units.
2022-03-18 11:59:35 +00:00
Linus Groh
9882848e0b
Kernel: Define IF_NAMESIZE in net/if.h
...
This makes the _socket module from the Python port build. :^)
2022-03-16 18:03:25 +00:00
Andreas Kling
7b3642d08c
Kernel: Mark sys$lseek() as not needing the big lock
...
This syscall doesn't access any data that was implicitly protected by
the big lock.
2022-03-09 16:43:00 +01:00
Andreas Kling
09e644f0ba
Kernel: Mark sys$emuctl() as not needing the big lock
...
This syscall doesn't do anything at all, and definitely doesn't need the
big lock. :^)
2022-03-09 16:43:00 +01:00
Andreas Kling
b4fefedd1d
Kernel: Mark sys$chmod() as not needing the big lock
...
This syscall doesn't access any data that was implicitly protected by
the big lock.
2022-03-09 16:43:00 +01:00
Andreas Kling
aa381c4a67
Kernel: Mark sys$fchmod() as not needing the big lock
...
This syscall doesn't access any data that was implicitly protected by
the big lock.
2022-03-09 16:43:00 +01:00
Andreas Kling
d074aae422
Kernel: Mark sys$dup2() as not needing the big lock
...
This syscall doesn't access any data that was implicitly protected by
the big lock.
2022-03-09 16:43:00 +01:00
Andreas Kling
8aad9e7448
Kernel: Mark sys$ftruncate() as not needing the big lock
...
This syscall doesn't access any data that was implicitly protected by
the big lock.
2022-03-09 16:43:00 +01:00