Commit Graph

3361 Commits

Author SHA1 Message Date
bjorn3 a0a8401e8d inputd: Inline a couple of functions 2025-03-02 16:33:39 +01:00
bjorn3 de0239d3ed inputd: Automatically switch to first vt once created 2025-03-02 16:33:39 +01:00
bjorn3 9779d1884e inputd: Remove the active vt check before post_fevent
No input is added to pending anyway when the vt for the consumer isn't
the active vt anyway.
2025-03-02 16:33:38 +01:00
bjorn3 e7fe3183b0 Make all pcid_interface methods abort the process on errors
Effectively the only way to recover from errors in the communication
with pcid is by restarting the driver from scratch possibly after
restarting pcid. As such moving the aborts from individual drivers to
pcid_interface simplifies drivers while at the same time allowing nicer
error messages.
2025-03-02 12:36:35 +01:00
Jeremy Soller e5af02928e Merge branch 'graphics_improvements' into 'master'
Various graphics subsystem improvements

See merge request redox-os/drivers!241
2025-03-01 20:41:40 +00:00
bjorn3 fe31bd0578 inputd: Remove deactivate event
It is no longer useful now that virtio-gpud permanently takes over
control of the display when it starts.
2025-03-01 20:00:29 +01:00
bjorn3 4f2268bbfe graphics/vesad: Exit gracefully when there is no boot framebuffer 2025-03-01 19:54:33 +01:00
bjorn3 2a71d48a76 inputd: Don't crash when receiving input while there is no active vt 2025-03-01 19:24:30 +01:00
bjorn3 d26ee5a58d graphics/fbbootlogd: Handle non-existent graphics adapter
This ensures a serial console shows up with all non-graphics related
daemons started when there is no framebuffer passed by the bootloader.
2025-03-01 19:23:56 +01:00
bjorn3 68af18aead graphics/vesad: Make some fields and methods private 2025-03-01 18:23:31 +01:00
bjorn3 91f814a42c graphics/vesad: Simplify sync loop
LLVM should optimize it to pretty much the same code, but using a
regular for loop makes it's behavior clearer.
2025-03-01 18:22:18 +01:00
bjorn3 0c42f431bd graphics/vesad: Merge screen.rs into scheme.rs 2025-03-01 18:09:23 +01:00
Jeremy Soller 1c6e9a045d Merge branch 'pcid-scheme2' into 'master'
Introduce a pci scheme and move driver spawning to pcid-spawner

See merge request redox-os/drivers!240
2025-03-01 16:38:49 +00:00
bjorn3 7dbce70d95 Get rid of the State struct and the Arc wrapper around Pcie 2025-03-01 17:19:06 +01:00
bjorn3 8f1549e284 Introduce a pci scheme and move driver spawning to pcid-spawner
This allows a single PCI daemon to run on the whole system, prevents
multiple drivers from claiming the same PCI device and makes it possible
for userspace to enumerate all available PCI devices. In the future this
will enable an lspci tool, possibly PCIe hot plugging and more.

Co-Authored-By: 4lDO2 <4lDO2@protonmail.com>
2025-03-01 17:18:15 +01:00
Jeremy Soller 64bb3c0dc2 Merge branch 'pcid-scheme-preparations' into 'master'
Various preparations for creating a pci scheme

See merge request redox-os/drivers!239
2025-02-27 19:21:51 +00:00
bjorn3 cffa5308a1 Use pico-args instead of structopt for pcid
It is much lighter weight.

Co-Authored-By: 4lDO2 <4lDO2@protonmail.com>
2025-02-27 20:07:12 +01:00
bjorn3 cd5604a054 Move config from pcid to pcid_interface
This will allow serializing/deserializing to be shared across programs.
For pcid-spawner will need to parse the config files and if we want to
embed config files into the driver executables at some point it may also
be useful.
2025-02-27 20:04:26 +01:00
bjorn3 5b45f06cf3 Extract enable_function out of handle_parsed_header
This is the only part that actually modifies the PCI configuration. In
the future we will want to delay enabling a PCI device until it is
actually going to be used while still reading metadata about the PCI
device before that point.
2025-02-27 20:02:29 +01:00
Jeremy Soller c9b440e0af Merge branch 'simplify_fbbootlogd' into 'master'
Simplify fbbootlogd

See merge request redox-os/drivers!238
2025-02-22 15:41:26 +00:00
bjorn3 31450e5770 graphics/fbbootlogd: Get rid of fevent and tracking handles
Fbbootlogd doesn't do non-blocking operations, so fevent isn't needed.
And the kernel shouldn't pass closed handles to us and even if it does
due to a bug, it is harmless to silently ignore the fact that the handle
was closed.
2025-02-22 16:33:22 +01:00
bjorn3 4b61e7bc86 graphics/fbbootlogd: Inline TextScreen into FbbootlogScheme 2025-02-22 16:33:22 +01:00
Jeremy Soller d83d050c0d Merge branch 'more_repr_packed_fixes' into 'master'
Replace a whole bunch more repr(packed) with repr(C, packed)

See merge request redox-os/drivers!237
2025-02-22 15:27:00 +00:00
Jeremy Soller 30633ca5bb Merge branch 'fix_standalone_driver_network' into 'master'
Fix standalone compilation of driver-network

See merge request redox-os/drivers!236
2025-02-22 15:26:51 +00:00
bjorn3 581d9eea33 Replace a whole bunch more repr(packed) with repr(C, packed) 2025-02-22 16:19:25 +01:00
bjorn3 23497b1148 Fix standalone compilation of driver-network
driver-network does conversions from syscall::Error to std::io::Error
which needs the std feature enabled. Without this change rust-analyzer
would report errors when trying to compile driver-network without any
other crate in the same build to enable the std feature.
2025-02-22 16:13:24 +01:00
Jeremy Soller 93969cd51f Merge branch 'less_direct_physmap' into 'master'
Replace a couple direct uses of physmap with map_bar

See merge request redox-os/drivers!235
2025-02-22 15:09:47 +00:00
bjorn3 23c20b0fa2 Replace a couple direct uses of physmap with map_bar 2025-02-22 16:07:10 +01:00
Jeremy Soller 471b9ebf4f Merge branch 'no_scan_single_function_device' into 'master'
Don't scan through all 8 functions of a single function PCI device

Closes #32

See merge request redox-os/drivers!232
2025-02-22 14:25:54 +00:00
Jacob Lorentzon 6edcba7b25 Merge branch 'less_features' into 'master'
Remove unnecessary feature gates

See merge request redox-os/drivers!234
2025-02-22 13:40:26 +00:00
bjorn3 e973f89139 Remove unnecessary feature gates
Some of these have been stabilized while others were likely no longer
used at all.
2025-02-22 14:38:33 +01:00
Jacob Lorentzon f560929b1b Merge branch 'pcid_correct_mcfg_repr' into 'master'
Make Mcfg repr(C, packed) rather than repr(packed)

See merge request redox-os/drivers!233
2025-02-22 13:33:32 +00:00
bjorn3 6828b744fd Make Mcfg repr(C, packed) rather than repr(packed)
repr(packed) officially still allows reordering the fields.
2025-02-22 14:05:33 +01:00
bjorn3 1cae6512fa Don't scan through all 8 functions of a single function PCI device 2025-02-22 13:57:15 +01:00
bjorn3 15bb765a78 Remove redundant license files 2025-02-21 20:13:23 +01:00
bjorn3 be7109ea02 Add ptyd to the cargo workspace 2025-02-21 20:12:28 +01:00
bjorn3 1b1c6abc62 Add 'ptyd/' from commit '4ba5c4ead35a7e8458af89e565c46c275f304ef4'
git-subtree-dir: ptyd
git-subtree-mainline: b33f98968c
git-subtree-split: 4ba5c4ead3
2025-02-21 20:11:54 +01:00
bjorn3 b33f98968c Add ipcd to the cargo workspace 2025-02-21 20:08:02 +01:00
bjorn3 b0586e9ead Add 'ipcd/' from commit 'e6f672bd48f9ac65a194f804bd0ed64c307f7b67'
git-subtree-dir: ipcd
git-subtree-mainline: 999da13e76
git-subtree-split: e6f672bd48
2025-02-21 20:07:22 +01:00
Jeremy Soller 999da13e76 Merge branch 'on_close' into 'main'
Switch to one-way close message for ramfs.

See merge request redox-os/base!1
2025-02-21 17:51:57 +00:00
4lDO2 c101162b64 Switch to one-way close message for ramfs. 2025-02-21 18:45:13 +01:00
Jeremy Soller 7012dffdf1 Merge branch 'ps2-timeout' into 'master'
ps2d: Use sleep rather than busy-waits for timeouts

See merge request redox-os/drivers!231
2025-02-18 22:19:31 +00:00
bjorn3 8824229b9e Move a couple of files to the top level 2025-02-18 21:35:28 +01:00
bjorn3 0c22306ea4 Add all packages to a workspace 2025-02-18 21:33:33 +01:00
bjorn3 f3c502a336 Add 'zerod/' from commit 'dde32fba345b3dfc770cb37c60c74647529046c8'
git-subtree-dir: zerod
git-subtree-mainline: f25ddc236b
git-subtree-split: dde32fba34
2025-02-18 21:32:19 +01:00
bjorn3 f25ddc236b Add 'randd/' from commit '80e27cb3d923e3a2c91b59122376e18233111a99'
git-subtree-dir: randd
git-subtree-mainline: 2179992ac3
git-subtree-split: 80e27cb3d9
2025-02-18 21:32:14 +01:00
bjorn3 2179992ac3 Add 'ramfs/' from commit '306433d0a553bbea81c7ef92a233d215dff1cf62'
git-subtree-dir: ramfs
git-subtree-mainline: daa4622b38
git-subtree-split: 306433d0a5
2025-02-18 21:32:04 +01:00
bjorn3 daa4622b38 Add 'logd/' from commit 'db36d01782a6b9cc7ec995f884f8c1259d79903e'
git-subtree-dir: logd
git-subtree-mainline: 38c917a56b
git-subtree-split: db36d01782
2025-02-18 21:31:45 +01:00
bjorn3 38c917a56b Add 'init/' from commit '0e7a0d3ab46817915180adbbb775c76d67fee31c'
git-subtree-dir: init
git-subtree-mainline: 57f2dca267
git-subtree-split: 0e7a0d3ab4
2025-02-18 21:31:28 +01:00
toadster172 4898261594 ps2: Use sleep functions for read and write waits 2025-02-17 17:42:51 -06:00