Gaurav-Aggarwal-AWS
2225bb5620
Fix Stack alignment for Microchip PIC32MX port (#182)
* Fix Stack alignment for Microchip PIC32MX port
The stack of a task was not 8 byte aligned. Adding one more unused space
at the beginning of task stack (before simulated context) ensures that
the stack is 8 byte aligned. The stack (with simulated context) of a
newly created task looks like the following:
+------------+
| UNUSED |
+------------+
| UNUSED |
+------------+
| 0xDEADBEEF |
+------------+
| 0x12345678 |
^ +------------+
| | CAUSE | <-- SP After Context Restore
| +------------+
| | STATUS |
| +------------+
| | EPC |
| +------------+
| | ra |
| +------------+
| | s8 |
| +------------+
| | t9 |
| +------------+
| | t8 |
| +------------+
| | t7 |
| +------------+
| | t6 |
| +------------+
| | t5 |
| +------------+
| | t4 |
| +------------+
| | t3 |
| +------------+
| | t2 |
| +------------+
| | t1 |
| +------------+
Context | | t0 |
(132 bytes) | +------------+
| | a3 |
| +------------+
| | a2 |
| +------------+
| | a1 |
| +------------+
| | a0 |
| +------------+
| | v1 |
| +------------+
| | v0 |
| +------------+
| | s7 |
| +------------+
| | s6 |
| +------------+
| | s5 |
| +------------+
| | s4 |
| +------------+
| | s3 |
| +------------+
| | s2 |
| +------------+
| | s1 |
| +------------+
| | s0 |
| +------------+
| | at |
| +------------+
| | HI |
| +------------+
| | LO |
| +------------+
V | |
+------------+
| | <-- SP After Context Save
+------------+
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
* Update comment
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2020-09-28 00:16:18 -07:00
..
2020-09-17 15:25:15 -07:00
2020-09-18 08:05:13 -07:00
2020-09-18 08:05:13 -07:00
2020-09-28 00:16:18 -07:00
2020-09-18 08:05:13 -07:00