|
Parameterise LCD register operations using the display information structure, |
|
|
Initialise framebuffer structure reference members but correct them later. |
|
|
Eliminate redundant members in vidinfo_t, adding a member referencing the |
|
|
Fixed GPIO region sizes. |
|
|
Introduced separate abstractions for GPIO keymap details and moved |
|
|
Use the physical base address of the GPIO registers. |
|
|
Replaced u8, u16 and u32 with uint8_t, uint16_t and uint32_t respectively. |
|
|
Employ structure member names to make initialisation clearer. |
|
|
Adjusted GPIO usage and added a form of visual feedback. Unfortunately, it |
|
|
Reduced the page table size to avoid potential conflicts. |
|
|
Removed redundant code. |
|
|
Added buzzer configuration for potential future use. |
|
|
Changed the GPIO mapping to use uncached memory. |
|
|
Attempt to properly use the GPIO set and clear registers. |
|
|
Tidied and renamed some memory definitions, attempting to make sure that GPIO |
|
|
Fixed GPIO set and clear pin functions. |
|
|
Added a keyboard scanning task. |
|
|
Increased the number of tasks, cycling over initialised tasks only. |
|
|
Added initial support for task-based GPIO access. |
|
|
Changed the task stack virtual address, introducing also a GPIO address base. |
|
|
Employ timer-based task switching again. |
|
|
Introduced a separate initial tasks manifest. |
|
|
Moved example tasks into a separate directory. |
|
|
Introduced convenience functions handling page pairs. |
|
|
Permit keyboard row GPIO interrupt requests, although they are not handled. |
|
|
Added copyright and licensing documentation. |
|
|
Added missing support for the MiniPC (untested at present), and moved common |
|
|
Let the power button switch between tasks, using an IRQ that occurs when the |
|
|
Removed superfluous void argument type declarations. |
|
|
Introduced memory layout headers and consolidated memory-related definitions. |
|
|
Mapped task stacks from 0x01c0000 downwards, moved kernel stacks to 0x8000 and |
|
|
Permit entry into user mode by avoiding calling udelay which needs access to a |
|
|
Allow the TLB random mapping threshold to be specified. |
|
|
Added and tidied status register definitions. |
|
|
Made an inline function for address space conversion. |
|
|
Added definitions for register fields. |
|
|
Reordered function definitions. |
|
|
Moved almost all assembly language fragments into a separate file. |
|
|
Replaced assembly language section with plain storage operations. |
|
|
Introduced MIPS register definition symbols. |
|
|
Use the exception return mechanism to invoke a task. |
|
|
Removed superfluous and limited user mode entry function. |
|
|
Presumably nothing special needs doing after TLB exception handling, so a direct |
|
|
Removed the separate reference for the task entry routine. It shouldn't be |
|
|
Attempted to map the relocated object table into each task, using explicit |
|
|
Moved the object tables above the program and data. |
|
|
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. |
|