progress: new assembler works, instruction set fully implemented with call/ret and push/pop, bf.dsa works which means the dsa assembly language works reliably. still a few bugs to fix. might be able to squeeze out a tiny bit more performance
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
LoadConfig(
|
||||
// defined as the bootloader in dsa.mmap.ron
|
||||
start_address: 0x1000,
|
||||
|
||||
// maximum allowed bootloader size (as to not overlap MMIO)
|
||||
max_size: 0x4000,
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
[
|
||||
IoMapping(
|
||||
device: Display,
|
||||
base: 0x0000_0000,
|
||||
size: 0x0000_07D0, // 2000 bytes (80x25)
|
||||
),
|
||||
],
|
||||
@@ -0,0 +1,41 @@
|
||||
MemoryMap(
|
||||
table_addr: 0x1000,
|
||||
regions: [
|
||||
// 0000-1000 = reserved
|
||||
Region(
|
||||
base: 0x0,
|
||||
size: 0x1000,
|
||||
region_type: Reserved
|
||||
),
|
||||
// 1000-4000 = bootloader
|
||||
Region(
|
||||
base: 0x1000,
|
||||
size: 0x3000,
|
||||
region_type: Bootloader
|
||||
),
|
||||
// 5000-0FFFFFFF = MMIO
|
||||
Region(
|
||||
base: 0x5000,
|
||||
size: 0x0FFF_FFFF,
|
||||
region_type: MMIO
|
||||
),
|
||||
// 10000000-BFFFFFFF = userspace
|
||||
Region(
|
||||
base: 0x1000_0000,
|
||||
size: 0xBFFF_FFFF,
|
||||
region_type: Usable
|
||||
),
|
||||
// C0000000-C0FFFFFF = kernel page tables
|
||||
Region(
|
||||
base: 0xC000_0000,
|
||||
size: 0x100_0000,
|
||||
region_type: KernelTables
|
||||
),
|
||||
// C1000000-FFFFFFFF = kernel
|
||||
Region(
|
||||
base: 0xC100_0000,
|
||||
size: 0x3EFF_FFFF,
|
||||
region_type: Kernel
|
||||
)
|
||||
]
|
||||
)
|
||||
Reference in New Issue
Block a user