diff --git a/local/recipes/gpu/redox-drm/recipe.toml b/local/recipes/gpu/redox-drm/recipe.toml index 44ccdd6445..a30ffe1a08 100644 --- a/local/recipes/gpu/redox-drm/recipe.toml +++ b/local/recipes/gpu/redox-drm/recipe.toml @@ -1,6 +1,6 @@ [source] path = "source" -patches = ["P1-intel-gen-gate.patch", "P2-intel-display-fixes.patch", "P3-intel-gen8-gen9-firmware.patch", "P4-virtio-gpu-driver.patch", "P5-virtio-auto-probe.patch", "P6-pcid-coordinate-handoff.patch", "P7-unreachable-pattern-cleanup.patch", "P8-terminal-scheme-ebadf.patch", "P9-virtio-handoff-mmio-map.patch", "P10-arrow-lake-device-ids.patch"] +patches = ["P5-virtio-auto-probe.patch", "P8-terminal-scheme-ebadf.patch", "P9-virtio-handoff-mmio-map.patch", "P10-arrow-lake-device-ids.patch"] [build] template = "cargo" diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/amd/display.rs b/local/recipes/gpu/redox-drm/source/src/drivers/amd/display.rs index c21fe19ad4..5e71595c4b 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/amd/display.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/amd/display.rs @@ -1,5 +1,4 @@ use log::{info, warn}; -use std::ffi::CString; use std::ptr; #[cfg(no_amdgpu_c)] use std::sync::atomic::{AtomicUsize, Ordering}; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/amd/mod.rs b/local/recipes/gpu/redox-drm/source/src/drivers/amd/mod.rs index 99841a4c74..8c94aa97c1 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/amd/mod.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/amd/mod.rs @@ -3,7 +3,7 @@ pub mod gtt; pub mod ring; pub mod vram; -use std::collections::{HashMap, HashSet}; +use std::collections::HashMap; use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; use std::sync::Mutex; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/amd/vram.rs b/local/recipes/gpu/redox-drm/source/src/drivers/amd/vram.rs index d9008bb72e..d433538b83 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/amd/vram.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/amd/vram.rs @@ -1,4 +1,4 @@ -use log::{debug, info}; +use log::debug; use crate::driver::{DriverError, Result}; @@ -17,7 +17,7 @@ pub struct VramManager { impl VramManager { pub fn new(bar_start: u64, bar_size: u64) -> Self { - let usable = if bar_size > VRAM_PAGE_SIZE { + let _usable = if bar_size > VRAM_PAGE_SIZE { bar_size - VRAM_PAGE_SIZE } else { 0 diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/backlight.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/backlight.rs index d1a7ec2821..8d9cc7646f 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/backlight.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/backlight.rs @@ -1,11 +1,10 @@ use std::sync::Arc; -use std::time::{Duration, Instant}; -use log::{debug, info, warn}; +use log::{debug, info}; use redox_driver_sys::memory::MmioRegion; use super::info::{IntelDeviceInfo, IntelGeneration}; -use crate::driver::{DriverError, Result}; +use crate::driver::Result; const BLC_PWM_CTL: usize = 0x61254; const BLC_PWM_CTL2: usize = 0x61250; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/batch.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/batch.rs index bae1162085..916376cc49 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/batch.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/batch.rs @@ -1,4 +1,3 @@ -use crate::driver::Result; const MI_BATCH_BUFFER_START: u32 = 0x3100_0000; const MI_BATCH_BUFFER_END: u32 = 0x0500_0000; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/context.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/context.rs index 85237632f8..911b03582e 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/context.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/context.rs @@ -1,7 +1,6 @@ use std::collections::BTreeMap; -use std::sync::atomic::{AtomicU64, Ordering}; -use log::{debug, info, warn}; +use log::{debug, info}; use super::gtt::IntelGtt; use crate::driver::{ContextHandle, DriverError, Result}; @@ -166,7 +165,7 @@ impl IntelPpgtt { ))); } - let pd_addr = pd_entry & !0xFFF; + let _pd_addr = pd_entry & !0xFFF; let pd_key = GEN8_PPGTT_PD_OFFSET as usize * 1000 + pd_idx; let pd = self.tables.get_mut(&pd_key).ok_or_else(|| { DriverError::Initialization("PPGTT PD missing".into()) @@ -179,7 +178,7 @@ impl IntelPpgtt { ))); } - let pt_addr = pt_entry & !0xFFF; + let _pt_addr = pt_entry & !0xFFF; let pt_key = GEN8_PPGTT_PT_OFFSET as usize * 1000_000 + pd_idx * 1000 + pt_idx; let pt = self.tables.get_mut(&pt_key).ok_or_else(|| { DriverError::Initialization("PPGTT PT missing".into()) @@ -339,7 +338,7 @@ impl IntelContext { write_lrc_u32(&mut self.lrc_image, LRC_TAIL_OFFSET, tail); } - pub fn bind_ring_buffer(&mut self, ring_gpu_addr: u64, ring_size: u32) -> Result<()> { + pub fn bind_ring_buffer(&mut self, ring_gpu_addr: u64, _ring_size: u32) -> Result<()> { write_lrc_u32(&mut self.lrc_image, LRC_RING_START_OFFSET, ring_gpu_addr as u32); write_lrc_u32(&mut self.lrc_image, LRC_RING_START_OFFSET + 4, (ring_gpu_addr >> 32) as u32); Ok(()) diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_cdclk.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_cdclk.rs index 7774da5f87..2ecdd15878 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_cdclk.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_cdclk.rs @@ -6,7 +6,6 @@ use redox_driver_sys::memory::MmioRegion; use super::info::IntelDeviceInfo; use super::regs::IntelRegs; use crate::driver::Result; -use crate::driver::DriverError; use crate::kms::ModeInfo; const SKL_CDCLK_337_5: u32 = 0; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_combo_phy.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_combo_phy.rs index 540f2eecc0..8fa5128c30 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_combo_phy.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_combo_phy.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use log::{debug, info, warn}; +use log::{debug, info}; use redox_driver_sys::memory::MmioRegion; use crate::driver::Result; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_psr.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_psr.rs index cde8f30156..a6fcb408d2 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_psr.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/display_psr.rs @@ -63,7 +63,7 @@ impl PsrState { let tp1 = (DEFAULT_TP1_TIME_US / 100).min(0x1F) as u32; let tp2_tp3 = (DEFAULT_TP2_TP3_TIME_US / 100).min(0x3) as u32; - let mut val = EDP_PSR_ENABLE + let val = EDP_PSR_ENABLE | EDP_PSR_LINK_STANDBY | (DEFAULT_IDLE_FRAMES << EDP_PSR_IDLE_FRAMES_SHIFT) | (tp1 << EDP_PSR_TP1_TIME_SHIFT) diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/dp_aux.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/dp_aux.rs index 10809a164a..368c1c4d2a 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/dp_aux.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/dp_aux.rs @@ -4,7 +4,6 @@ use std::time::{Duration, Instant}; use log::{debug, warn}; use redox_driver_sys::memory::MmioRegion; -use super::regs::IntelRegs; use crate::driver::Result; use crate::driver::DriverError; @@ -84,7 +83,7 @@ impl DpAux { let msg_size: u32 = match request & 0x0F { AUX_NATIVE_WRITE => send_buf.len() as u32, AUX_NATIVE_READ => recv_size as u32, - AUX_I2C_WRITE | AUX_I2C_READ | (AUX_I2C_WRITE | AUX_I2C_MOT) | (AUX_I2C_READ | AUX_I2C_MOT) => { + AUX_I2C_WRITE | AUX_I2C_READ | AUX_I2C_WRITE | AUX_I2C_MOT | AUX_I2C_READ | AUX_I2C_MOT => { send_buf.len() as u32 } _ => 0, @@ -99,7 +98,7 @@ impl DpAux { self.mmio.write32(self.data_offset + i * 4, val); } - let mut command = ((request as u32) << 24) | ((address as u32) << 8); + let command = ((request as u32) << 24) | ((address as u32) << 8); self.mmio.write32(self.ctl_offset, command | ctl); let deferred = self.wait_for_completion()?; @@ -173,7 +172,7 @@ impl DpAux { let mut i2c_buf = [EDID_I2C_ADDRESS << 1, 0x00]; self.do_transfer(AUX_I2C_WRITE | AUX_I2C_MOT, 0, &i2c_buf, 0)?; - let mut data = self.do_transfer(AUX_I2C_READ | AUX_I2C_MOT, 0, &[], 1)?; + self.do_transfer(AUX_I2C_READ | AUX_I2C_MOT, 0, &[], 1)?; i2c_buf[1] = 0x01; for chunk_start in (0..EDID_LENGTH).step_by(16) { diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/execbuffer.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/execbuffer.rs index 77c987eb70..59c249abd0 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/execbuffer.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/execbuffer.rs @@ -1,11 +1,11 @@ -use log::{debug, info, warn}; +use log::{debug, info}; use super::fence::FenceTimeline; use super::gtt::IntelGtt; -use super::ring::{IntelRing, RingType}; +use super::ring::IntelRing; use super::syncobj::SyncobjManager; use crate::driver::{ - ContextHandle, DriverError, IntelGemExecObject2, IntelGemExecbuffer2, + DriverError, IntelGemExecObject2, IntelGemExecbuffer2, IntelGemExecbuffer2Result, IntelGemRelocationEntry, Result, SyncobjHandle, EXEC_OBJECT_PINNED, EXEC_OBJECT_WRITE, I915_EXEC_BLT, I915_EXEC_BSD, I915_EXEC_RENDER, I915_EXEC_VEBOX, @@ -61,7 +61,7 @@ impl<'a> ExecbufferContext<'a> { return Err(DriverError::InvalidArgument("execbuffer batch is empty")); } - let mut pinned = self.pin_objects(objects)?; + let pinned = self.pin_objects(objects)?; self.apply_relocations(&pinned, objects, relocs, batch_data)?; let ring = self.select_ring(exec.flags)?; ring.submit_batch(&batch_data_to_u32s(batch_data)?)?; @@ -237,7 +237,7 @@ impl<'a> ExecbufferContext<'a> { _batch_data: &[u8], ) -> Result<()> { for p in pinned { - if let Some(obj) = objects.iter().find(|o| o.handle == p.handle) { + if let Some(_obj) = objects.iter().find(|o| o.handle == p.handle) { if p.is_write { if let Ok(gem_obj) = self.gem.object(p.handle) { debug!( diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/execlists.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/execlists.rs index 105b8aa409..bc40b16a16 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/execlists.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/execlists.rs @@ -1,12 +1,10 @@ -use std::sync::atomic::{AtomicU32, Ordering}; use std::sync::Arc; -use log::{debug, info, warn}; +use log::{debug, info}; use redox_driver_sys::memory::MmioRegion; use super::gtt::IntelGtt; use crate::driver::Result; -use crate::driver::DriverError; const RING_ELSP_OFFSET: usize = 0x230; const RING_EXECLIST_STATUS_LO: usize = 0x234; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/hdmi.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/hdmi.rs index edc4a620fd..34f62dea36 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/hdmi.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/hdmi.rs @@ -278,7 +278,7 @@ pub fn is_hdmi_sink(edid: &[u8]) -> bool { let data = &edid[offset + 1..offset + 1 + length]; let mut dtd_start = 0usize; while dtd_start < data.len() { - let dtd_tag = data[dtd_start] >> 5; + let _dtd_tag = data[dtd_start] >> 5; let dtd_len = (data[dtd_start] & 0x1F) as usize; if dtd_len < 3 { dtd_start += dtd_len + 1; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/panel_pps.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/panel_pps.rs index a6658aaec9..7cacabef14 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/panel_pps.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/panel_pps.rs @@ -4,7 +4,7 @@ use std::time::{Duration, Instant}; use log::{debug, info, warn}; use redox_driver_sys::memory::MmioRegion; -use super::info::{IntelDeviceInfo, IntelGeneration}; +use super::info::IntelDeviceInfo; use crate::driver::{DriverError, Result}; const PP_STATUS: usize = 0x61200; diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/syncobj.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/syncobj.rs index 18c6a519ab..e60d79c83e 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/syncobj.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/syncobj.rs @@ -1,8 +1,7 @@ use std::collections::BTreeMap; -use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::Arc; -use log::{debug, info, warn}; +use log::debug; use super::fence::FenceTimeline; use crate::driver::{DriverError, Result, SyncobjHandle}; diff --git a/local/recipes/gpu/redox-drm/source/src/kms/atomic.rs b/local/recipes/gpu/redox-drm/source/src/kms/atomic.rs index 8bca276f48..4ac0376d87 100644 --- a/local/recipes/gpu/redox-drm/source/src/kms/atomic.rs +++ b/local/recipes/gpu/redox-drm/source/src/kms/atomic.rs @@ -1,6 +1,4 @@ -use std::time::Instant; -use log::{debug, info}; use super::{ConnectorInfo, ModeInfo}; diff --git a/recipes/core/bootloader/recipe.toml b/recipes/core/bootloader/recipe.toml index 2dbcfd238e..f87ed1ca97 100644 --- a/recipes/core/bootloader/recipe.toml +++ b/recipes/core/bootloader/recipe.toml @@ -10,7 +10,7 @@ mkdir -pv "${COOKBOOK_STAGE}/usr/lib/boot" function bootloader { src="$2" dst="$3" - TARGET="$1" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" -f "${COOKBOOK_SOURCE}/Makefile" -C "${OUTDIR}" "${OUTDIR}/${src}" + RUST_TARGET_PATH="${COOKBOOK_SOURCE}/targets" TARGET="$1" rustup run nightly cargo -Zunstable-options rustc --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" -Z build-std=core,alloc -Z build-std-features=compiler-builtins-mem --target "$1" --bin bootloader --release -- --emit link="${OUTDIR}/${src}" 2>&1 | tail -3 cp -v "${OUTDIR}/${src}" "${COOKBOOK_STAGE}/usr/lib/boot/${dst}" } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index aa9a974247..cdc84958b6 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "nightly-2026-04-01" +channel = "nightly" components = ["rust-src", "rustfmt", "clippy"] profile = "minimal"