2020-12-20 19:49:35 +04:00
|
|
|
#[allow(unused)]
|
|
|
|
|
2020-11-28 21:31:36 +04:00
|
|
|
pub const USER_STACK_SIZE: usize = 4096 * 2;
|
|
|
|
pub const KERNEL_STACK_SIZE: usize = 4096 * 2;
|
2020-12-11 14:04:57 +04:00
|
|
|
pub const KERNEL_HEAP_SIZE: usize = 0x20_0000;
|
2020-12-16 11:19:29 +04:00
|
|
|
pub const MEMORY_END: usize = 0x80800000;
|
2020-12-03 06:40:30 +04:00
|
|
|
pub const PAGE_SIZE: usize = 0x1000;
|
|
|
|
pub const PAGE_SIZE_BITS: usize = 0xc;
|
2020-11-29 06:31:15 +04:00
|
|
|
|
2020-12-06 09:56:13 +04:00
|
|
|
pub const TRAMPOLINE: usize = usize::MAX - PAGE_SIZE + 1;
|
|
|
|
pub const TRAP_CONTEXT: usize = TRAMPOLINE - PAGE_SIZE;
|
|
|
|
|
2020-11-29 06:31:15 +04:00
|
|
|
#[cfg(feature = "board_k210")]
|
2020-12-16 11:19:29 +04:00
|
|
|
pub const CLOCK_FREQ: usize = 403000000 / 62;
|
2020-11-29 06:31:15 +04:00
|
|
|
|
|
|
|
#[cfg(feature = "board_qemu")]
|
2020-12-16 06:18:38 +04:00
|
|
|
pub const CLOCK_FREQ: usize = 12500000;
|
|
|
|
|
|
|
|
#[cfg(feature = "board_qemu")]
|
|
|
|
pub const MMIO: &[(usize, usize)] = &[
|
2021-03-04 22:06:40 +04:00
|
|
|
(0x10001000, 0x1000),
|
2020-12-16 11:19:29 +04:00
|
|
|
];
|
|
|
|
|
|
|
|
#[cfg(feature = "board_k210")]
|
|
|
|
pub const MMIO: &[(usize, usize)] = &[
|
|
|
|
// we don't need clint in S priv when running
|
|
|
|
// we only need claim/complete for target0 after initializing
|
|
|
|
(0x0C00_0000, 0x3000), /* PLIC */
|
|
|
|
(0x0C20_0000, 0x1000), /* PLIC */
|
|
|
|
(0x3800_0000, 0x1000), /* UARTHS */
|
|
|
|
(0x3800_1000, 0x1000), /* GPIOHS */
|
|
|
|
(0x5020_0000, 0x1000), /* GPIO */
|
|
|
|
(0x5024_0000, 0x1000), /* SPI_SLAVE */
|
|
|
|
(0x502B_0000, 0x1000), /* FPIOA */
|
|
|
|
(0x502D_0000, 0x1000), /* TIMER0 */
|
|
|
|
(0x502E_0000, 0x1000), /* TIMER1 */
|
|
|
|
(0x502F_0000, 0x1000), /* TIMER2 */
|
|
|
|
(0x5044_0000, 0x1000), /* SYSCTL */
|
|
|
|
(0x5200_0000, 0x1000), /* SPI0 */
|
|
|
|
(0x5300_0000, 0x1000), /* SPI1 */
|
|
|
|
(0x5400_0000, 0x1000), /* SPI2 */
|
2020-12-16 06:18:38 +04:00
|
|
|
];
|