Commit Graph

1315 Commits

Author SHA1 Message Date
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
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
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
toadster172 4898261594 ps2: Use sleep functions for read and write waits 2025-02-17 17:42:51 -06:00
Jeremy Soller 7efb54c6b0 Merge branch 'ihdad-fix' into 'master'
ihdad: Fix initialization procedure

See merge request redox-os/drivers!230
2025-02-08 15:32:39 +00:00
Alice Shelton 7f12a14505 ihdad: Follow spec more closely for state changes 2025-02-08 01:47:52 -06:00
Jeremy Soller 7e798dfe91 Merge branch 'jespersm-master-patch-43825' into 'master'
Fix link to "a-note-about-drivers"

See merge request redox-os/drivers!229
2025-02-06 16:07:33 +00:00
Jesper Møller aa3887d4e7 Fix link to "a-note-about-drivers" 2025-02-04 20:54:40 +00:00
Jeremy Soller 3f67a82d1f Update rust-toolchain 2025-01-13 14:33:28 -07:00
Ribbon b26aa9b32b Document how to contribute and do development in the README 2025-01-09 11:54:44 +00:00
Jeremy Soller e4ac216fe2 Merge branch 'pcid_cleanup' into 'master'
Remove some dependencies of pcid

See merge request redox-os/drivers!228
2024-12-30 11:46:53 +00:00
bjorn3 898f8dc72b pcid: Remove usage of paw 2024-12-30 11:41:34 +01:00
bjorn3 e6139319e8 pcid: Remove a couple of unused dependencies 2024-12-30 11:40:02 +01:00
Jeremy Soller 4c1c1df0ad Merge branch 'graphics_ipc_crate' into 'master'
graphics: Introduce graphics-ipc crate

See merge request redox-os/drivers!227
2024-12-28 22:45:56 +00:00
Jeremy Soller dcef51fc60 Merge branch 'optimize_damage_tracking' into 'master'
graphics/console-draw: Collapse consecutive damage entries

See merge request redox-os/drivers!226
2024-12-28 22:45:04 +00:00
bjorn3 5fc04c332d graphics: Move Damage from inputd to graphics-ipc 2024-12-28 16:26:18 +01:00
bjorn3 7b11acbc46 graphics: Introduce graphics-ipc crate
While for now this for now only includes helpers for the current limited
display interface which is relatively simple to implement manually, in
the future we will likely need a more complex interface with gpu drivers
that would be hard to get right without a common crate proving the
interface.
2024-12-28 16:21:58 +01:00
bjorn3 5bfce514be graphics/console-draw: Collapse consecutive damage entries 2024-12-28 15:18:55 +01:00
Jeremy Soller d7c98a877a Merge branch 'misc_graphics_cleanups' into 'master'
Various cleanups for the graphics subsystem

See merge request redox-os/drivers!225
2024-12-28 14:14:17 +00:00
bjorn3 5af43fcaa2 graphics/vesad: Merge OffscreenBuffer into GraphicScreen 2024-12-28 14:51:02 +01:00