mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
rust: hpet: do not access fields of SysBusDevice
Fields of SysBusDevice must only be accessed with the BQL taken. Add a wrapper that verifies that. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fc22d650d5
commit
09fda8f5dc
2 changed files with 13 additions and 3 deletions
|
@ -64,6 +64,18 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: do we want a type like GuestAddress here?
|
||||
fn mmio_addr(&self, id: u32) -> Option<u64> {
|
||||
assert!(bql_locked());
|
||||
let sbd = self.upcast();
|
||||
let id: usize = id.try_into().unwrap();
|
||||
if sbd.mmio[id].memory.is_null() {
|
||||
None
|
||||
} else {
|
||||
Some(sbd.mmio[id].addr)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: do we want a type like GuestAddress here?
|
||||
fn mmio_map(&self, id: u32, addr: u64) {
|
||||
assert!(bql_locked());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue