Commit graph

44 commits

Author SHA1 Message Date
Sean Cross
ff46015127 loader: increase stack size to main process
The graphics server has been observed to explode stack. This increases
the start size of the stack to prevent this from happening.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 15:08:46 +08:00
Sean Cross
e43f333faa loader: don't map the stack into the kernel
This prevents the stack from getting claimed by the kernel, or handed
out to another process.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 14:37:33 +08:00
bunnie
46fe3885dc cleanup more turds left over during the bringup of suspend/resume 2021-05-01 00:35:32 +08:00
bunnie
260b154741 clean up some boot process holdovers 2021-04-30 23:28:31 +08:00
bunnie
640ddb48e8 suspend/resume now works to hardware 2021-04-30 19:29:36 +08:00
bunnie
7053c2b7c6 able to detect the clean suspend, now figuring out how to resume 2021-04-30 05:00:03 +08:00
bunnie
0e2d57c9fb retrofit the kernel and loader to handle resume
and now the even harder debuggening begins...zomg o_O
2021-04-30 01:55:38 +08:00
bunnie
bbcf698ff3 flesh out a simple touch-and-go suspend/resume demo loop
now the debuggening begins. lord help us.
2021-04-29 02:56:53 +08:00
bunnie
805d7c79a2 add some preliminary bits for the loader to detect suspend/resume 2021-04-29 00:22:38 +08:00
bunnie
f76358e716 Merge branch 'bunnie-dev' 2021-04-27 18:55:57 +08:00
bunnie
d2e9d35d37 modify loader to block out suspend resume pages per Xobs review 2021-04-27 18:47:55 +08:00
bunnie
8f679ce41f revert the loader assembly artifacts 2021-04-27 18:17:07 +08:00
bunnie
7f6abaea6a Revert "relocate top of kernel memory to save two pages for suspend/resume"
This reverts commit 36429de62f.

Turns out there is a better way to do this.
2021-04-27 18:16:33 +08:00
bunnie
07d6055b4e new loader artifacts, change +x mode on script 2021-04-27 03:52:34 +08:00
bunnie
36429de62f relocate top of kernel memory to save two pages for suspend/resume 2021-04-27 03:51:38 +08:00
bunnie
8ae1a7ff8c
Update README.md 2021-04-27 03:47:32 +08:00
bunnie
85211bb57d add susres server skeleton 2021-04-27 00:38:51 +08:00
Sean Cross
c5ca371e08 loader: fix debug warnings
These warnings appeared as part of a change in Rust 1.50.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-04-12 17:15:52 +08:00
Sean Cross
8b06017c66 loader: fix double-allocation of memory regions
Due to an error in how small regions were loaded, memory was mapped to
the wrong offset. This didn't affect us for the most part, since these
small regions were mostly in the backtrace report which we don't usually
hit.

With this patch, we now can verify that processes are loaded correctly.
For example:

    (gdb) compare-sections
    Section .rodata, range 0x100e0 -- 0x13bdc: matched.
    Section .eh_frame, range 0x13bdc -- 0x15040: matched.
    Section .text, range 0x16040 -- 0x2dd6e: matched.
    Section .sdata, range 0x2ed70 -- 0x2ed78: matched.
    Section .data, range 0x2ed78 -- 0x2eda4: matched.
    (gdb)

Signed-off-by: Sean Cross <sean@xobs.io>
2021-04-12 17:15:44 +08:00
Sean Cross
10e65db748 loader: limit the kernel to 4 kB
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-14 18:29:45 +08:00
bunnie
838fa25bad get rid of the awful dummy arg hack and use #used directive to keep font maps in loader 2021-02-27 14:52:21 +08:00
bunnie
0dc40f4185 attempt to separate fontmaps and loader out of kernel 2021-02-27 02:12:19 +08:00
Sean Cross
50e72bf837 loader: disable interrupts in the kernel
This disables interrupts when the kernel is running.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-17 16:49:38 +08:00
Sean Cross
47e0b85b1b loader: fix kernel text section ownership
The text section of the kernel should be owned by the kernel itself. Due
to a typo, only the last page of the text section was being marked as
owned by the text section.

This marks the remainder of the section as being owned by the kernel.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-01-08 19:37:15 +08:00
Sean Cross
e12a02b1c5 loader: assign sections to process ownership
This ensures these addresses aren't re-used and handed out again by
memory allocation.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-01-07 20:28:20 +08:00
Sean Cross
7b50d00eb8 repo: run cargo fmt
This reformats line endings to be consistent, and reinforces the
contents of `.gitattributes`.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-01-03 18:31:51 +08:00
hasheddan
0a6f63a129
Update loader README.md links to other docs
Fixes links in loader directory README.md to top-level documentation.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-12-06 10:43:07 -06:00
bunnie
2d5bd20c16 bouncing ball "招财猫"-like totem now working 2020-11-23 03:18:43 +08:00
bunnie
1d23d2c1f7 unify debug.rs and move to UTRA format 2020-10-14 03:40:44 +08:00
bunnie
cab4c7d4a9 fix more UTRA issues; migrate to dual-UART for kernel/console messages 2020-10-13 05:22:19 +08:00
bunnie
10aacd76c4 move to utra 2020-10-13 04:38:21 +08:00
Sean Cross
5687dcc292 loader: enable fat lto mode
Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-11 09:16:16 +08:00
bunnie
5deeebae3b the loader seems to be working now. 2020-09-26 00:03:46 +08:00
Sean Cross
0ca7fe6f12 kernel/loader: fix build arguments
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:10:46 +08:00
Sean Cross
8920ab57cf xtask: remove loader, kernel from workspace to fix rebuilds
These packages modify RUSTFLAGS, which causes some packages to be
rebuilt every time. Move them out of the workspace so as to ensure they
don't use the same `target` directory.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 10:51:29 +08:00
Sean Cross
723529ba20 wip: working on getting message passing working
The goal is to get a basic message passing engine working that will also
function as a device that works on real hardware.

This is still reworking it to function correctly on a desktop system.
Once that is working, it will be reworked to function once again on
hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-15 18:13:10 +08:00
Sean Cross
c1c31dbfe4 loader: fix most clippy warnings
Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-15 12:03:59 +08:00
Sean Cross
aec047b944 loader: add test for minielf spanning a page
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-06 15:34:18 +08:00
Sean Cross
73ad16d367 loader: fix loading when init spans pages
Due to an issue withow MiniELF files were loaded, one page was mapped to
two addresses rather than having two adjacent addresses mapped.  This
occurred when a small section spanned two pages.

This has now been corrected, and an additional test binary will be added
to demonstrate the issue.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-06 15:29:37 +08:00
Sean Cross
8c3f931445 messaging: first message passing example
THis commit allows us to pass Scalar messages between processes.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-30 16:07:58 +08:00
Sean Cross
1b83177b8a loader: implement byte-addressing for init elf files
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-12 15:29:10 +08:00
Sean Cross
e1d97d88ca loader: use all 24 bits for IniE size
Because ELF files can operate at byte offsets, we must use the full
byte-addressible address for sections.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-12 15:04:07 +08:00
Sean Cross
45656b36cd loader: correct comment on init section
This assert is getting triggered due to a bug.  The error message is
missing a closing ")".

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 17:31:30 +08:00
Sean Cross
f50ec67553 initial commit
This pulls together many disparate repositories into one xous-core
repository.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 12:13:05 +08:00