Task #6189
closed
Support for page table declaration
Added by Alexander Kamkin over 9 years ago.
Updated over 9 years ago.
Assignee:
Andrei Tatarnikov
Category:
Template Processor
Published in build:
2.2.12
Description
- Page table (PT) is a set of page table entries (PTEs).
- PT declaration is a set of address objects (AO) located at a given address in couple with a PTE preparator.
- PTE preparator is a function f: AO → PTE.
- PT declaration leads to data declaration.
- Status changed from New to Open
Syntax - r4463, r4464 (see if you like it)
Skeleton (Ruby stubs) - r4465, r4467.
- % Done changed from 0 to 70
- Status changed from Open to Resolved
- % Done changed from 70 to 100
class PageTableTemplate < MiniMipsBaseTemplate
def pre
super
page_table {
page_table_preparator { |pte|
word pte.v, pte.va, pte.pa
}
page_table_adapter { |mo|
page_table_entry(:v => 1, :va => mo.va, :pa => mo.pa)
}
org 0x000F0000
label :page_table
page_table_entry(:v => 1, :va => 0x0000000, :pa => 0x0001000)
page_table_entry(:v => 1, :va => 0x0001000, :pa => 0x0002000)
page_table_entry(:v => 1, :va => 0x0002000, :pa => 0x0003000)
page_table_entry(
memory_object(
:va => 0x000A000..0x000F000, :pa => 0x000F000, :size => 64)
)
}
end
def run
# Place holder
nop
end
end
- Status changed from Resolved to Closed
- Published in build set to 2.2.12
Also available in: Atom
PDF