|
@@ -2,7 +2,7 @@
|
|
// Author(s): Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
|
|
// Author(s): Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
-use core::ptr::{addr_of, addr_of_mut, NonNull};
|
|
|
|
|
|
+use core::ptr::{addr_of_mut, NonNull};
|
|
use std::{
|
|
use std::{
|
|
ffi::CStr,
|
|
ffi::CStr,
|
|
os::raw::{c_int, c_uchar, c_uint, c_void},
|
|
os::raw::{c_int, c_uchar, c_uint, c_void},
|
|
@@ -499,7 +499,9 @@ pub fn update(&self) {
|
|
let flags = self.int_level & self.int_enabled;
|
|
let flags = self.int_level & self.int_enabled;
|
|
for (irq, i) in self.interrupts.iter().zip(IRQMASK) {
|
|
for (irq, i) in self.interrupts.iter().zip(IRQMASK) {
|
|
// SAFETY: self.interrupts have been initialized in init().
|
|
// SAFETY: self.interrupts have been initialized in init().
|
|
- unsafe { qemu_set_irq(*irq, i32::from(flags & i != 0)) };
|
|
|
|
|
|
+ unsafe {
|
|
|
|
+ qemu_set_irq(*irq, i32::from(flags & i != 0));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -601,7 +603,7 @@ pub fn post_load(&mut self, _version_id: u32) -> Result<(), ()> {
|
|
let sysbus: *mut SysBusDevice = dev.cast::<SysBusDevice>();
|
|
let sysbus: *mut SysBusDevice = dev.cast::<SysBusDevice>();
|
|
|
|
|
|
qdev_prop_set_chr(dev, c_str!("chardev").as_ptr(), chr);
|
|
qdev_prop_set_chr(dev, c_str!("chardev").as_ptr(), chr);
|
|
- sysbus_realize_and_unref(sysbus, addr_of!(error_fatal) as *mut *mut Error);
|
|
|
|
|
|
+ sysbus_realize_and_unref(sysbus, addr_of_mut!(error_fatal));
|
|
sysbus_mmio_map(sysbus, 0, addr);
|
|
sysbus_mmio_map(sysbus, 0, addr);
|
|
sysbus_connect_irq(sysbus, 0, irq);
|
|
sysbus_connect_irq(sysbus, 0, irq);
|
|
dev
|
|
dev
|