|
Put the global object tables in separate page pairs. |
|
|
Relocated the global object table regions to reside on page boundaries. |
|
|
Attempted to simplify region allocation by putting the object table copy in a |
|
|
Attempt to provide memory mapping to the lower memory object table. |
|
|
Used the linker script symbol correctly. |
|
|
Avoid the task entry routine if ASID is zero. |
|
|
Added missing stack pointer initialisation to invoke_task. |
|
|
Make sure that the task entry routine gets used after direct mapping updates. |
|
|
Merged set_task into invoke_task, making sure that the ASID becomes set. |
|
|
Produce a steady display of the value in plot_value. |
|
|
Introduced a special routine that is used to enter the task. |
|
|
Invoke task 1 and only switch between tasks 1 and 2. |
|
|
Added task invocation support and the invocation of task zero. |
|
|
Adjusted the value-plotting pattern and the test pattern arguments. |
|
|
Adjusted colour value calculations. |
|
|
Added simple value display, merging the pixel type with the pattern to show the |
|
|
Separated the pixel-setting operations from the text pixel functions. |
|
|
Consolidated task initialisation code. |
|
|
Tidied instruction usage, signatures, and improved a variable comment. |
|
|
Fixed restoration of floating point registers. |
|
|
Properly reset the TLB mappings. |
|
|
Moved the task management and the example task into separate files. |
|
|
Introduced convenience headers for configuration-related file selection. |
|
|
Renamed board-specific.h to init.h. |
|
|
Moved board-specific timer operations to the appropriate files. |
|
|
Allow task zero to plot a pattern and to run with the other tasks. |
|
|
Moved paging definitions into a new header file, adjusting the table address. |
|
|
Switched to using stacks accessible via the same virtual address region. |
|
|
Switched to mapped stack regions, keeping stack pointers within their regions. |
|
|
Added missing multiplication registers to loading and storing. |
|
|
Added explicit clearing of TLB mappings. |
|
|
Fixed page table indexing in the TLB miss handler. |
|
|
Introduced kernel regions for task register storage. |
|
|
Removed superfluous TLB mapping entry. |
|
|
Put the page tables and the stacks in unmapped space, with the stacks occupying |
|
|
Tidied up stack location calculations. |
|
|
Added a generic exception handler to handle TLB misses during exceptions. |
|
|
Minor formatting changes. |
|
|
Fixed absent EPC initialisation. |
|
|
Permit different test patterns. |
|
|
Masking interrupts should not be necessary. |
|
|
Introduced more immediate TLB miss handling in order to avoid stack usage and |
|
|
Added a potentially useful TLB page miss mapping function. |
|
|
Introduced a method of invoking task routines for testing. |
|
|
Added elements of a task switching mechanism. |
|
|
Introduced the start of a more complicated page mapping scheme. |
|
|
Separated error level and interrupt initialisation. |
|
|
Added missing ASID sections to EntryHi register values. |
|
|
Moved status register saving and adjustment, saving the unmodified value. |
|
|
Make a copy of the global offset table for user mode use. |
|
|
Attempt to prevent a system hang by saving certain registers early. |
|
|
Ensure that the GP is set up appropriately for interrupt and TLB miss handling. |
|
|
Disable user mode transitions for now. |
|
|
Fixed the operation of the enter_user_mode function. |
|
|
Merged changes from the branch upon reverting to position-independent code. |
|
|
Switched to position-independent code to enable user mode execution. |
stage2-non-pic |
|
Pass parameters to the plot_pattern function. |
stage2-non-pic |
|
Merged fixes. |
stage2-non-pic |
|
Fixed initial TLB mapping. |
stage2-non-pic |
|
Moved tlb_handle into the interrupt handling file. Added an idle wait loop. |
stage2-non-pic |