use sel4::{Word, cap::Endpoint};
pub const SERVICE_BOOT_STACK_TOP: usize = 0x1_0000_0000;
pub const SERVICE_BOOT_STACK_SIZE: usize = 0x1_0000;
pub const SERVICE_HEAP_SIZE: usize = 0x10_0000;
pub const VIRTIO_MMIO_ADDR: usize = 0xa003e00;
pub const PL011_ADDR: usize = 0x0900_0000;
pub const VIRT_PL011_ADDR: usize = 0x1_2020_0000;
pub const VIRTIO_MMIO_VIRT_ADDR: usize = 0x1_2000_0000;
const VIRTIO_BLK_OFFSET: usize = 0x3e00;
const VIRTIO_NET_OFFSET: usize = 0x3c00;
pub const VIRTIO_MMIO_BLK_VIRT_ADDR: usize = VIRTIO_MMIO_VIRT_ADDR + VIRTIO_BLK_OFFSET;
pub const VIRTIO_MMIO_NET_VIRT_ADDR: usize = VIRTIO_MMIO_VIRT_ADDR + VIRTIO_NET_OFFSET;
pub const SERIAL_DEVICE_IRQ: usize = 33;
pub const VIRTIO_NET_IRQ: usize = 0x2f + 0x20;
pub const DMA_ADDR_START: usize = 0x1_0000_3000;
pub const CNODE_RADIX_BITS: usize = 12;
pub const LINUX_APP_CNODE_RADIX_BITS: usize = 6;
pub const PAGE_SIZE: usize = 0x1000;
pub const PAGE_MASK: usize = !0xfff;
pub const DEFAULT_CUSTOM_SLOT: u64 = 26;
pub const DEFAULT_EMPTY_SLOT_INDEX: usize = 32;
pub const STACK_ALIGN_SIZE: usize = 16;
pub const SHARE_PAGE_START: usize = 0x1_001F_0000;
pub const IPC_DATA_LEN: usize = 120 * 8;
pub const REG_LEN: usize = size_of::<Word>();
pub const DEFAULT_THREAD_NOTIFICATION: u64 = 17;
pub const DEFAULT_PARENT_EP: Endpoint = Endpoint::from_bits(18);
pub const DEFAULT_SERVE_EP: Endpoint = Endpoint::from_bits(19);