Commit graph

299 commits

Author SHA1 Message Date
bunnie
d7333a51fd bump xous-susres version check 2022-10-07 18:50:35 +08:00
bunnie
3bca9de2a0 bump version numbers for xous-kernel patch
this fixes tests in CI
2022-10-05 23:51:35 +08:00
bunnie
8f71164278 crates.io source files differ in length from repo source files
because crlf->lf conversions
2022-10-05 21:25:54 +08:00
bunnie
3b9041d8d7 CRLF->LF handing in file comparisons 2022-10-05 21:20:16 +08:00
bunnie
5c0154f730 cleanup version comparison code
this should be "clean" and working. yowch, this is really strict...
i may need to loosen this checking to make development sustainable.
2022-10-05 18:53:09 +08:00
bunnie
969f93b001 cross-repo update versions from xous-rs bump 2022-10-05 18:32:44 +08:00
bunnie
33948e70d6 initial verifier attempt
verification is sort of pointless, because:

The Cargo.toml file is parsed and reformatted by the packaging tool to normalize its contents.
Thus, the Cargo.toml file of the downloaded version never matches the Cargo.toml file that's actually used.

Unfortunately, there doesn't seem to be an easy way to check the equivalence of two Cargo.toml files,
except for recursively and deeply parsing through and comparing all the possibile keys and values of
the abstract key/value tree. This is a much bigger project than I'm prepared to figure out today.

As a hack, we compare to the Cargo.toml.orig file. Which is...kind of OK, but really, this opens us
up to attacks where someone just has to replace a version on a package or even just swap out an
entire package for a malicious one by just using package name re-assignment which is a thing that
the format supports. In other words, all this checking is kind of pointless because it's super-easy
to swap out key crates for whole other crates and have it go undetected.
2022-10-05 05:33:24 +08:00
bunnie
9c5d773cf3 cleanup CargoSpec From trait 2022-10-05 02:54:12 +08:00
bunnie
0a03782245 bump remote targets in xtask 2022-10-03 03:37:50 +08:00
bunnie
0aaf64781f add refs to remote susres 2022-10-03 02:25:00 +08:00
bunnie
679ad9b75f bump remote packages in xtask 2022-10-03 01:18:52 +08:00
bunnie
359d234971 fix some bugs in the remote build process 2022-10-03 00:25:15 +08:00
bunnie
1352e3f3df add a tiny target; testing some minimal builds 2022-10-02 21:50:05 +08:00
bunnie
a303150687 fix kernel test build in hosted-ci 2022-10-02 17:56:51 +08:00
bunnie
b431059715 add hosted-ci target back in 2022-10-02 17:52:30 +08:00
bunnie
b4febb78ff convert all build targets to the new builder format
also organize the build targets and document what they do better.
remove bitrotted targets.
remove legacy frameworks.
2022-10-02 17:32:48 +08:00
bunnie
8340c65dfe fixup some comments 2022-10-02 03:00:52 +08:00
bunnie
366434b015 initial cut at a refactored build process.
built renode, hosted, tts, app-image targets successfully.

now to finish porting over all the legacy targets and then
removing the old build method
2022-10-02 02:21:48 +08:00
bunnie
e2d941e3b4 remove clap from svd2repl 2022-09-29 22:31:50 +08:00
bunnie
8af0ef7961 split xtask into file modules 2022-09-29 19:05:24 +08:00
bunnie
e65884cf77 start cleanup on renode build 2022-09-27 18:10:15 +08:00
bunnie
4f2506f009 some housekeeping; remove bit-rotted test targets
these targets are so old they would need to be completely
re-written to be relevant, so just cull them.
2022-09-27 17:50:32 +08:00
bunnie
44cc459b33 fix hosted mode 2022-09-27 17:35:38 +08:00
bunnie
755556611c prep kernel for packaging
- strip out gdb-stub. Per xobs, the feature never worked, and it
depends upon a branch of a git repo which is not allowed by crates.io
Since the feature hasn't been developed, and crates.io will not
allow even an optional feature that points to a git repo, the feature
was stripped out.

- rename "kernel" to "xous-kernel", so that we can live in a crates.io
package namespace that is specific to Xous.

still have to figure out the riscv package issue.
2022-09-27 17:02:20 +08:00
bunnie
895957e53a pass the SVD config back to xtask
this is necessary because we need the full SVD path to generate
the whitelist of physical pages that can be addressed. Since the
SVD path is now domiciled in utralib, a file called "SVD_PATH"
is created in the target/ directory which contains the resolved
path to the SVD file given the abstract target/rev feature pair.
2022-09-27 15:12:28 +08:00
bunnie
3a6f69a4ad fix SVD spec toggle trigger
this fix makes it so that

1) you always get a correct build when the SVD spec is toggled
2) you don't always rebuild when nothing has changed

(2) is with the caveat that the no-change flag is only clean
after your second build (i.e. your third run will be fast).
I'm not quite sure why but I think it's because the "changes"
to the config file tracker are computed throughout the first
build and the second build still sees that file as recently
changed, so, it'll trigger a rebuild (could also just be
a race condition because the timestamp of the rebuild is
at the same second that the file was regenerated, so conservatively
you'd rebuild the next time).
2022-09-27 03:06:42 +08:00
bunnie
3bf363bf22 rework SVD files to be located in utralib crate
- default SVD file is specified now as a constant at the top of xtask
- SVD files are now tracked to commit refs in the betrused-soc tree

this is so that we don't have to guess which crate rev corresponds
to which SVD rev -- we specify it explicitly with a feature flag.
2022-09-27 01:16:29 +08:00
bunnie
91eb81000a add some breadcrumbs 2022-09-16 01:45:15 +08:00
bunnie
7dbc1f60b0 add xtask tweaks for performance counter variants (perf-image target) 2022-09-16 01:39:22 +08:00
bunnie
ea37ce2ea1 add feature gate on v2p per xobs' request 2022-09-15 14:06:07 +08:00
bunnie
44afbd7697 fix issue where large lists of apps break signing key specifier mechanism
now to specify a signing key you add it after a "--" which delimits
the list of apps
2022-09-12 13:12:18 +08:00
bunnie
5e15f798c8 add "perf" variant to targets, for performance profiling
also add a routine to manually switch over the UTRA in this case.
for whatever reason, the system is not picking up the change in
the UTRA when specified as an environment variable change --
maybe there is a hard coded link somewhere, but I can't seem
to find it.

since performnace counting is an edge case use mostly by
frankly just me, I'm not going to worry about ergonomics so
much.
2022-09-11 07:45:14 +08:00
bunnie
a6972436bf fixups to fix linux builds 2022-08-21 16:30:37 +08:00
bunnie
25d1d0144a cleanup hosted mode build and carve TLS target out 2022-08-20 00:47:28 +08:00
bunnie
7d62ca85b8 some preliminary schwags at making flamegraphs
turns out, they're pretty useless. I mean, for debugging actual
running code. it tells us basically what we know already which is
99.99% of the time is spent waiting on inter-thread messaging
in hosted mode.
2022-08-01 01:32:19 +08:00
bunnie
645291f8eb add rekey test feature as a comment-option in run 2022-07-19 03:18:01 +08:00
bunnie
1256fcb411 add min version requirement and current version to kernel and loader 2022-07-08 18:56:05 +08:00
bunnie
bba4c38f6b
Update main.rs 2022-07-05 23:13:07 +08:00
Sean Cross
c1e585c37c xtask: ensure loader is build with lto,codegenunits=1
If the loader is not build with these two parameters, then Weird Things
happen with the font table.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-07-04 22:33:38 +08:00
bunnie
5d23ad9db6 add the pddb-btest target, for secret basis stress testing 2022-07-04 17:55:23 +08:00
bunnie
66f7f0a5ab add the autobasis feature to the current xtask set 2022-07-04 04:08:55 +08:00
bunnie
770f7e1f53 add tracking allocator
has to be instrumented on functions of interest, but there is one
e.g. in shellchat now for tracking allocations to display a PNG.
2022-06-19 01:55:16 +08:00
bunnie
4eac32ba60 add submenu context generation to manifest format
adding a key of "submenu" will automatically create the corresponding
integer argument of submenu contexts for the app.

NB: you should try to only create 1 and re-use it. Menus
are resource hungry, and will rapidly eat through your connection
and thread table.
2022-06-17 18:28:07 +08:00
bunnie
1121e268b8 re-add the ditherpunk build target 2022-06-16 03:42:46 +08:00
bunnie
1728bafd72 revert custom kernel flag for ditherpunk
we should now be able to create specific threads with
increased stack sizes, instead of a blanket increase on everything
2022-06-16 03:27:14 +08:00
bunnie
3757441677 split off image generation for ditherpunk in xtask 2022-06-14 19:05:44 +08:00
bunnie
c687f7dc02 add a kernel feature flag so we can adjust stack size for ditherpunk
Don't want to make the stack size adjustment across the board
because it's helpful for managing/checking bloat as it happens.
2022-06-14 17:08:32 +08:00
bunnie
fc8e5df2b1 Merge remote-tracking branch 'origin/dither2' into dp2-merge 2022-06-14 16:45:38 +08:00
bunnie
e32ea4d3f5 fix #174 2022-06-10 21:36:53 +08:00
Ana Hobden
fa864ef137 Correct sha binary name
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-06-07 23:42:01 -07:00