bjorn3
ef29520cf5
Avoid ptr2int2ptr casts in GraphicScreen::sync
...
Also use pointer arithmetic on *mut u32 over manual multiplication by 4.
The ptr2int2ptr casts pessimize optimizations.
2024-07-19 21:55:21 +02:00
bjorn3
b33ea2b53a
Fix a FIXME in display_fd_unmap
...
The len method on raw pointers has been stabilized.
2024-07-19 21:50:15 +02:00
bjorn3
1a41bcab14
Enforce formatting in CI
2024-07-19 21:47:47 +02:00
bjorn3
8a91bae0a6
Remove unnecessary unsafe block
2024-07-19 21:25:52 +02:00
bjorn3
747898dfb2
Run rustfmt on the entire graphics subsystem
2024-07-19 21:24:48 +02:00
Jeremy Soller
25a98ba914
Merge branch 'remove_inputd_g' into 'master'
...
Remove inputd -G
See merge request redox-os/drivers!185
2024-07-19 19:19:38 +00:00
bjorn3
ebb2243538
Remove all traces of VtMode
...
It isn't used anywhere anymore.
2024-07-19 21:18:09 +02:00
bjorn3
5f1fdec858
Remove inputd -G
...
Ever since fbcond got moved out of vesad it has been doing the exact
same as inputd -A.
2024-07-19 21:11:02 +02:00
Jeremy Soller
7ddb8e15eb
Merge branch 'fix_ps2d_vmmouse_ub' into 'master'
...
Fix UB in the ps2d vmmouse implementation
See merge request redox-os/drivers!184
2024-07-16 23:30:27 +00:00
bjorn3
1f25a69feb
Fix UB in the ps2d vmmouse implementation
...
The vm call will clobber edi, which is the register in which we saved
the ebx value. Also make sure to preserve the entire rbx value, rather
than just the lower half in ebx.
2024-07-16 15:43:50 +02:00
Jeremy Soller
cfabb8945a
Merge branch 'fix_inputd' into 'master'
...
Update deps and fix inputd.
See merge request redox-os/drivers!183
2024-07-16 12:44:41 +00:00
4lDO2
d9e5c6644d
Update deps and fix inputd.
...
Scheme names are not allowed to contain slashes, so it should look for a
`.` in e.g. `display.vesa:/path/to/...`.
2024-07-16 14:17:19 +02:00
Jeremy Soller
1710f56e71
Merge branch 'fix_things' into 'master'
...
Fix fbcon
See merge request redox-os/drivers!182
2024-07-12 12:36:19 +00:00
bjorn3
2fc3923d46
Fix fbcon
2024-07-12 12:05:31 +02:00
Jeremy Soller
130dd5c1ad
Merge branch 'no_legacy_path' into 'master'
...
Use the new scheme format in most places
See merge request redox-os/drivers!181
2024-07-11 23:32:35 +00:00
bjorn3
fd8dabd1bc
Use the new scheme format in most places
...
The graphics subsystem still uses the old format as orbital manually
parses the fpath result.
2024-07-11 21:14:45 +02:00
Jeremy Soller
21b2e90d50
Merge branch 'bug_fixes' into 'master'
...
bug fixes
See merge request redox-os/drivers!180
2024-07-09 18:44:41 +00:00
ramla-i
93d5ceb465
bug fixes
2024-07-09 12:55:48 -04:00
Jeremy Soller
e7781dcced
Fix compilation on aarch64
2024-06-24 11:43:17 -06:00
Jeremy Soller
8d65e05a28
Merge branch 'move_drivers' into 'master'
...
Move all drivers to /usr/lib/drivers
See merge request redox-os/drivers!179
2024-06-22 16:55:02 +00:00
Jeremy Soller
ab0b156159
ps2d: reduce timeouts
2024-06-17 12:42:23 -06:00
bjorn3
4ffed8096d
Move all drivers to /usr/lib/drivers
...
This makes them harder to accidentally run them from the shell, which
would not work. In the future this may also allow embedding the driver
config in the driver executable itself without having to look at all
non-driver executables too.
2024-06-16 17:02:14 +02:00
Jeremy Soller
a9bb925f25
Merge branch 'pcid_cleanup9' into 'master'
...
Don't include source files in two different crates for pcid
See merge request redox-os/drivers!178
2024-06-16 13:32:36 +00:00
bjorn3
07aaf6ea94
pcid: Don't include source files in two different crates
...
This confuses rust-analyzer.
2024-06-16 15:29:09 +02:00
bjorn3
6d15fbba75
pcid: Move msi from pci to driver_interface
2024-06-16 15:23:32 +02:00
bjorn3
ba6224bc27
pcid: Move VendorSpecificCapability form pci to driver_interface
2024-06-16 15:21:51 +02:00
bjorn3
5c9bbb5c96
pcid: Move PciBar from pci to driver_interface
2024-06-16 15:20:52 +02:00
bjorn3
52d1c0fb4f
pcid: Move FullDeviceId from pci to driver_interface
2024-06-16 15:19:14 +02:00
Jeremy Soller
434c3aed7a
Merge branch 'pcid_cleanup8' into 'master'
...
Get rid of PciHeader
See merge request redox-os/drivers!177
2024-06-16 13:05:12 +00:00
bjorn3
16819bc693
pcid: Get rid of PciHeader
...
It is a reminant of when pci_types wasn't used yet and doesn't simplify
things a lot anymore.
2024-06-16 13:42:45 +02:00
bjorn3
a34266b029
pcid: Remove all PciEndpointHeader methods
2024-06-16 13:33:55 +02:00
bjorn3
6c2fdae08c
pcid: Remove all tests of PciHeader
2024-06-16 13:32:11 +02:00
bjorn3
de4d79e69e
pcid: Inline PciEndpointHeader::bars
2024-06-16 13:23:27 +02:00
Jeremy Soller
2be445d6d7
Merge branch 'xhcid_slower_polling' into 'master'
...
Sleep for 2ms on every poll loop in xhcid
See merge request redox-os/drivers!176
2024-06-16 11:21:32 +00:00
bjorn3
160acff5a8
pcid: Move the code in PciHeader::display to other places
2024-06-16 13:20:16 +02:00
Jeremy Soller
d3496f4bd4
Merge branch 'virtio_remove_legacy_transport' into 'master'
...
Remove virtio legacy transport support
See merge request redox-os/drivers!175
2024-06-16 11:19:14 +00:00
Jeremy Soller
073b837a5e
Merge branch 'lived' into 'master'
...
Make lived stateless.
See merge request redox-os/drivers!174
2024-06-16 11:17:51 +00:00
bjorn3
1179d01e76
pcid: Add pretty string for the NVME device type
2024-06-16 13:12:52 +02:00
bjorn3
ae2240ef0f
pcid: Remove some PciHeader methods
2024-06-16 13:12:29 +02:00
bjorn3
56000cbd9c
pcid: Remove subsystem id from PciEndpointHeader
2024-06-16 13:03:58 +02:00
bjorn3
0d926fb3f7
xhcid: Sleep for 2ms on every poll loop
...
This significantly reduces cpu usage. On my laptop before this change a
single core would be fully loaded while running at 3-4GHz. With this
change it would only be loaded for about 50% while running at 1-2GHz.
This improves battery lifetime while also preventing the fan from
spinning up to a distracting level.
This shouldn't noticably affect latency given that most keyboards and
mice don't support polling at 500Hz anyway.
2024-06-16 12:04:05 +02:00
bjorn3
fc9331b16a
virtio: Remove legacy transport support
...
Transitional virtio devices (which have both legacy and virtio 1.0
support) have been the default since QEMU 2.7.0, which was released
8 years ago. Basically every non-commercial Linux distro with an older
QEMU has been EOL already.
The legacy transport is also one of the few places where port I/O is
necessary, which is non-trivial to sandbox even once we have IOMMU
support. As it isn't possible to distinguish legacy and modern virtio
devices for pcid, this would mean that all virtio drivers have to be
started as privileged even if it turns out the modern transport is
supported by the VMM.
2024-06-16 11:49:11 +02:00
4lDO2
dd10d77350
Make lived stateless.
2024-06-16 11:27:24 +02:00
Jeremy Soller
e1a2e21735
Merge branch 'x86_virtio_modern_transport' into 'master'
...
Support the modern virtio transport on x86
See merge request redox-os/drivers!173
2024-06-15 21:37:44 +00:00
bjorn3
359f4482dd
virtio: Merge the x86 and x86_64 platform specific code
2024-06-15 21:59:10 +02:00
bjorn3
b6a75d0a16
virtio: Support the modern transport on x86
2024-06-15 21:59:10 +02:00
Jeremy Soller
be02d70c60
Merge branch 'rustfmt_pcid' into 'master'
...
Rustfmt pcid
See merge request redox-os/drivers!172
2024-06-15 19:41:09 +00:00
bjorn3
2144eaa62c
Rustfmt pcid
2024-06-15 21:38:43 +02:00
Jeremy Soller
cd498c1826
Merge branch 'pcid_int_rework' into 'master'
...
Add PciFunctionHandle::map_bar method
See merge request redox-os/drivers!171
2024-06-15 13:51:20 +00:00
bjorn3
23ac696491
pcid: Add PciFunctionHandle::map_bar method
...
This will enable the pcid driver interface to safely map the MSI-X table
in the future without having to worry about a BAR being mapped twice.
2024-06-15 15:47:48 +02:00