Age | Commit message (Collapse) | Author |
|
Introduce new SHAPE_SQUARE_BORDER shape type to draw unfilled (bordered)
squares.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Add missing return statement
- Fix x/y mismatch
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements the POSIX setsockopt syscall so that user
programs may be able to configure sockets they have created.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements proper timeout handling for recv(). Previously,
the recv() syscall would yield the current process forver until data is
available to be read. Obviously, that is not the most ideal as it is not
uncommon for programs to try seeing if any data exists on the socket
before deferring to perform some other task until data arrives.
The basics of how this work is that we try reading data off of some
specified socket. However, if no data is present, we must wait for the
given timeout value before attempting to read again.
While this is pretty effective and works perfectly fine as of now, it
might be worth optimizing this later to allow that timeout period to be
somehow "interrupted" by data arriving at a socket so that the program
does not have to defer execution for the full wait-period.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the kernel-side implementation of setsockopt()
for setting options on a socket file descriptor. See POSIX
setsockopt() for more information.
https://pubs.opengroup.org/onlinepubs/9690949499/functions/setsockopt.html
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce a new sched_suspend() function that allows the caller to
suspend themselves (equivalent to a yield) for a specified amount of
time described by a 'timeval'.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces a new gfx_copy_region() function that
allows a rectangular region of the screen to be defined and its
contents copied to a different part of the screen.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce gfx routine to grab the RGB value of a specific pixel at a
specific location on the screen.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implement a window cache to avoid the overhead of back-to-back calls for
malloc() and free. This commit additionally introduces a new
oda_shutdown() function for cleaning up the library.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial input subsystem and adds basic
keyboard handling via a callback defined by the compositor.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce the oda_plotwin() function to allow one to plot a pixel onto a
window relative to the starting X/Y position of it. Plotting to (0,0)
draws to the top left corner of the window.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implement mechanism that allows one to plot pixels on the screen with a
specific color at specific x/y coordinates.
Example:
--
struct gfx_point p = {
.x = 150,
.y = 200,
.color = GFX_GREEN
};
/* Draw green point at (150,200) */
gfx_plot_point(&ctx, &p);
--
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implement helper to check if a point on the screen is within bounds of
the screen.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Please refer to 'share/docs/lib/liboda.md' for more information on the
OSMORA Display Architecture (ODA).
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add initial documentation for the OSMORA Display Architecture (ODA)
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Clean up punctation
- Add libs section and more programs
- Add extra project information
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- [oasm]: Add support for ADD, SUB, DIV, MUL and HLT [0 ... 4]
- [oemu: cpu]: Add register dump [5]
- [oasm]: Add support for '!' comments [6]
- [oasm]: Implement MRO type instructions [7]
- [kernel/amd64]: Keep track of online cores [8]
- [kernel: accnt]: Report number of halted cores [9]
- [osh]: Add banner to /etc/motd [10]
- [kernel: signal]: Add SIGTERM [11]
- [kernel: osh]: Add '!!' to repeat last command [12]
- [kernel: termios]: Add c_oflag defines [13]
- [kernel]: Introduce initial virtual system resources [14]
- [kernel]: Implement POSIX uio [15, 16]
- [kernel]: Add initial support for sockets [17, 18, 19, 20]
- [kernel: uio]: Add iovec copyin/copyout routines [21]
Commits referenced:
[0]: 3ab5f07bac34bc9de5b9038407353c707f3f4c2f
[1]: df9f396017f92ad4647697d461bb5475d6596cfb
[2]: fa2bb7b2a5cc01c3c28c9dcd34cf65a499321b9c
[3]: ea521725a7739ec568eb6961edabf71d8169ef9e
[4]: 3ab5f07bac34bc9de5b9038407353c707f3f4c2f
[5]: cf3b1238d3ebdf6184a9977ee6e0d3057313444c
... truncated - decoding logic added to OEMU
[6]: fd0c31d4cfd6e220271e43102fb69301d7ffc664
[7]: 6bd0f17304d78e2b7e37684a672f59c9cc2444d0
... some entries truncated
[8]: cf1bb5e566ad0e346af810b399d871a74031feb2
[9]: 48587c836af7a008eff4964094e97aa1c94a34b0
[10]: 71cb1ceaaa894f642e2d294684d6ac83e965137a
[11]: 87f45183e415368e3a3e67c7a632269a0375cedc
[12]: 967c7daef5c4259ff0a79e91a758db335872c25e
[13]: 739fc515b53dcb835dd67fb1fd8da8c9aa3b2861
[14]: 15c4ee1321be918d8fcbc8d858ea90a4dabe54a5
[15]: 0b20b44c90ec4e2de0d5d2c8da99cb915eaf4a76
[16]: b3fb473977c6bfb5294f229336a23d2071d565f8
[17]: 275108db200f6303d84d5225b80081b58866fe22
[18]: 8b599e8c8d32bdbbfe5a5ca696d4d9cdff5d5350
[19]: 037787ec82f99e3015c423c1e9a09a76017f0203
[20]: 71decb670bd84630d3639623891e46f332d58084
[21]: b3fb473977c6bfb5294f229336a23d2071d565f8
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Instead of relying on mmap()'ing the framebuffer and doing shape math
manually, this commit puts libgfx to use.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces libgfx which is a low-level graphics library
and does not know anything about windows, display architecture, etc.
The job of libgfx is soley to provide an API to draw shapes, graphical objects
and perform operations on them.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add dmidump utility that reports information from DMI (aka system
management BIOS).
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add ctlfs entry for DMI to allow for easy system information from
userspace by reading '/ctl/dmi/*'. This commit implements a ctlfs
node that reports information about the host board.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add DMI helper to grab processor version string
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implements:
- sendmsg()
- recvmsg()
- connect()
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Zero new control buffer before usage
- Block if the control message queue is empty
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|