bjorn3
aacf09cef4
storage/driver-block: Remove id method from Disk trait
2025-03-07 20:42:41 +01:00
bjorn3
03329430b4
storage/driver-block: Handle block_read read buffer internally
2025-03-07 20:34:33 +01:00
Jeremy Soller
2fc0008db0
Merge branch 'partitionlib_improvements' into 'master'
...
Vendor and cleanup partitionlib
See merge request redox-os/drivers!247
2025-03-07 01:51:31 +00:00
Jeremy Soller
b4d82c82bf
Merge branch 'graphics_driver_api_refactor' into 'master'
...
A bunch of improvements to the graphics subsystem
See merge request redox-os/drivers!246
2025-03-07 01:50:35 +00:00
bjorn3
9257cbbfa2
storage/partitionlib: Couple of cleanups
2025-03-06 22:48:10 +01:00
bjorn3
398103e710
storage/partitionlib: Rustfmt
2025-03-06 22:18:21 +01:00
bjorn3
f6c3be42e7
storage: Vendor partitionlib to make it easier to change
2025-03-06 22:18:08 +01:00
bjorn3
be5b865058
graphics: Rename resource to framebuffer
...
This matches the Linux DRM name.
2025-03-06 21:41:26 +01:00
bjorn3
92295f2ea4
graphics/graphics-ipc: Use u32 fields in Damage
...
The fields should never be negative and this saves a couple of casts.
2025-03-06 20:49:21 +01:00
bjorn3
ee3382aed0
graphics/virtio-gpud: Add helper to submit a fenced request
...
This is necessary for implementing hardware cursor support.
2025-03-06 20:49:20 +01:00
bjorn3
fc92f0b0ce
graphics: Rename the legacy graphics API to the v1 graphics API
...
It is quite likely that the next graphics API won't be the last one and
as such would become a legacy API too. Consistently using version
numbers makes it easier to refer to the exact version you mean.
2025-03-06 20:49:20 +01:00
bjorn3
972e19e900
graphics: Always pass damage to graphics drivers
...
This way the drivers don't have to special case switching between VTs.
2025-03-06 20:49:17 +01:00
bjorn3
88cfa76e2c
graphics: Merge set_scanout and flush_resource into update_plane
...
The old api was pretty virtio-gpu specific. The new api is closed to how
atomic mode setting on Linux works.
2025-03-06 20:48:41 +01:00
Jeremy Soller
b17933f382
Merge branch 'fmt_all' into 'master'
...
Format all packages in fmt.sh
See merge request redox-os/drivers!245
2025-03-03 17:44:21 +00:00
Jeremy Soller
2b014e1330
Merge branch 'vt_to_go' into 'master'
...
Implicitly create a new VT for each consumer
See merge request redox-os/drivers!244
2025-03-03 17:42:10 +00:00
bjorn3
f26fdd7592
Format all packages in fmt.sh
2025-03-02 22:00:36 +01:00
bjorn3
e9d8d7ceaf
Implicitly create a new VT for each consumer
...
Instead of requiring the graphics driver to create a fixed set of VTs in
advance. This fixes the graphical interface when there is a graphics
driver but no boot framebuffer. Previously in that case vesad would exit
before it creates any VT and thus no consumer could show anything as
their VT was missing. In the future creating new VTs on the fly could
also allow a display manager to use a separate VT for each user session.
2025-03-02 20:28:34 +01:00
Jeremy Soller
2e82009412
Merge branch 'centralize_error_handling' into 'master'
...
Make all pcid_interface methods abort the process on errors
See merge request redox-os/drivers!242
2025-03-02 18:45:17 +00:00
Jeremy Soller
f9bbabf431
Merge branch 'inputd_improvements' into 'master'
...
A whole bunch of inputd improvements
See merge request redox-os/drivers!243
2025-03-02 18:44:47 +00:00
bjorn3
39dd9118c0
graphics/fbcond: Handle missing graphics driver at startup
2025-03-02 19:19:08 +01:00
bjorn3
67e9f29804
inputd: switch_vt is infallible
2025-03-02 18:57:10 +01:00
bjorn3
085a6e32c6
inputd: Unify early and non-early handle opening
2025-03-02 17:37:14 +01:00
bjorn3
f8972400ee
inputd: Move handoff logic to fn open
2025-03-02 17:36:41 +01:00
bjorn3
ec442b87a3
inputd: Use a single global display rather than have a per-vt display selection
2025-03-02 17:24:37 +01:00
bjorn3
cd193f2aed
inputd: Unconditionally perform handoff for all vts together
...
In preparation for having a single set of graphics drivers for all vts.
2025-03-02 17:24:18 +01:00
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