qemu_rv32_virt_chip/
virtio_mmio.rs

1// Licensed under the Apache License, Version 2.0 or the MIT License.
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// Copyright Tock Contributors 2023.
4
5//! QEMU VirtIO MMIO instantiation
6
7use kernel::utilities::StaticRef;
8use virtio::transports::mmio::VirtIOMMIODeviceRegisters;
9
10pub const VIRTIO_MMIO_0_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
11    unsafe { StaticRef::new(0x1000_1000 as *const VirtIOMMIODeviceRegisters) };
12pub const VIRTIO_MMIO_1_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
13    unsafe { StaticRef::new(0x1000_2000 as *const VirtIOMMIODeviceRegisters) };
14pub const VIRTIO_MMIO_2_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
15    unsafe { StaticRef::new(0x1000_3000 as *const VirtIOMMIODeviceRegisters) };
16pub const VIRTIO_MMIO_3_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
17    unsafe { StaticRef::new(0x1000_4000 as *const VirtIOMMIODeviceRegisters) };
18pub const VIRTIO_MMIO_4_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
19    unsafe { StaticRef::new(0x1000_5000 as *const VirtIOMMIODeviceRegisters) };
20pub const VIRTIO_MMIO_5_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
21    unsafe { StaticRef::new(0x1000_6000 as *const VirtIOMMIODeviceRegisters) };
22pub const VIRTIO_MMIO_6_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
23    unsafe { StaticRef::new(0x1000_7000 as *const VirtIOMMIODeviceRegisters) };
24pub const VIRTIO_MMIO_7_BASE: StaticRef<VirtIOMMIODeviceRegisters> =
25    unsafe { StaticRef::new(0x1000_8000 as *const VirtIOMMIODeviceRegisters) };