feat(boot): gatekeeper gates boot (init→UI→gatekeeper→data); keystore disk + virtio-rng discovery; terminal READ_SECRET; storage SET_KEY; PageCount ≤8192, alloc cap gone; device window 0x01D0_0000; test-qemu types passcode over 2 boots
This commit is contained in:
@@ -8,9 +8,11 @@ use port_block_device::{BlockDevice, SectorId};
|
||||
use types::address::{ByteOffset, PhysicalAddress, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
|
||||
const MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x20000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x21000);
|
||||
const REQ_HDR_VA: VirtualAddress = VirtualAddress::from_raw(0x23000);
|
||||
/// Drivers map their devices in the device window (0x01D0_0000 up, 64 KiB
|
||||
/// each), clear of program images and heaps.
|
||||
const MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x01D0_0000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x01D0_1000);
|
||||
const REQ_HDR_VA: VirtualAddress = VirtualAddress::from_raw(0x01D0_3000);
|
||||
const SECTOR_SIZE: usize = 512;
|
||||
|
||||
pub struct VirtioBlockDevice {
|
||||
|
||||
@@ -10,9 +10,11 @@ use types::address::{ByteOffset, PhysicalAddress, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
use types::display::{Color, Dimension, ScreenCoord};
|
||||
|
||||
const GPU_MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x20000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x21000);
|
||||
const CMDBUF_VA: VirtualAddress = VirtualAddress::from_raw(0x23000);
|
||||
/// Drivers map their devices in the device window (0x01D0_0000 up, 64 KiB
|
||||
/// each), clear of program images and heaps.
|
||||
const GPU_MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x01D2_0000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x01D2_1000);
|
||||
const CMDBUF_VA: VirtualAddress = VirtualAddress::from_raw(0x01D2_3000);
|
||||
const FB_VA: VirtualAddress = VirtualAddress::from_raw(0x100000);
|
||||
const FB_BPP: usize = 4;
|
||||
/// Pixels converted and stored per run.
|
||||
|
||||
@@ -5,7 +5,9 @@ use libkos::Window;
|
||||
use port_input_device::{InputDevice, InputEvent, Key};
|
||||
use types::address::{ByteOffset, VirtualAddress};
|
||||
|
||||
const UART_VA: VirtualAddress = VirtualAddress::from_raw(0x20000);
|
||||
/// Drivers map their devices in the device window (0x01D0_0000 up, 64 KiB
|
||||
/// each), clear of program images and heaps.
|
||||
const UART_VA: VirtualAddress = VirtualAddress::from_raw(0x01D4_0000);
|
||||
const UART_RBR: ByteOffset = ByteOffset::new(0);
|
||||
const UART_IER_OFFSET: ByteOffset = ByteOffset::new(1);
|
||||
const UART_LSR_OFFSET: ByteOffset = ByteOffset::new(5);
|
||||
|
||||
@@ -10,9 +10,11 @@ use port_input_device::{InputDevice, InputEvent};
|
||||
use types::address::{ByteOffset, PhysicalAddress, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
|
||||
const INPUT_MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x25000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x26000);
|
||||
const EVBUF_VA: VirtualAddress = VirtualAddress::from_raw(0x28000);
|
||||
/// Drivers map their devices in the device window (0x01D0_0000 up, 64 KiB
|
||||
/// each), clear of program images and heaps.
|
||||
const INPUT_MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x01D1_0000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x01D1_1000);
|
||||
const EVBUF_VA: VirtualAddress = VirtualAddress::from_raw(0x01D1_3000);
|
||||
|
||||
const QUEUE_SIZE: usize = 32;
|
||||
const EVENT_SIZE: usize = 8;
|
||||
|
||||
@@ -10,9 +10,11 @@ use port_entropy::Entropy;
|
||||
use types::address::{ByteOffset, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
|
||||
const MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x2A000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x2B000);
|
||||
const BUFFER_VA: VirtualAddress = VirtualAddress::from_raw(0x2D000);
|
||||
/// Drivers map their devices in the device window (0x01D0_0000 up, 64 KiB
|
||||
/// each), clear of program images and heaps.
|
||||
const MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x01D3_0000);
|
||||
const VQUEUE_VA: VirtualAddress = VirtualAddress::from_raw(0x01D3_1000);
|
||||
const BUFFER_VA: VirtualAddress = VirtualAddress::from_raw(0x01D3_3000);
|
||||
/// Asked for at most this much at a time.
|
||||
const CHUNK: usize = 256;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user