Commit graph

279 commits

Author SHA1 Message Date
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
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
Ana Hobden
fa864ef137 Correct sha binary name
Signed-off-by: Ana Hobden <operator@hoverbear.org>
2022-06-07 23:42:01 -07:00
bunnie
94b7bde983 fix spurious rebuild issue
Had two JSON entries with the same key, which meant you had
 a 50/50 chance of a rebuild being triggered depending on which
entry was picked for the build. :-/
2022-06-05 23:08:09 +08:00
bunnie
665292ce74 absorb the correct package list for renode builds
The manifest was being processed, but the package list was
going back to the original base set, which would lead to
a confusing situation of apps being listed but the binaries not
being present.
2022-06-05 13:34:26 +08:00
bunnie
81f823ff34 migrate u2f to the "vault" app
The vault app is the beginning of a multi-purpose authentication vault.
It will feature:

1. FIDO2 authentication
2. TOTP authenticators
3. Password storage to PDDB with auto-typing via keyboard HID

This is the first step on a very very long journey.
2022-05-28 01:17:54 +08:00
bunnie
05f705a931 prove that we've restored ditherpunk functionality to hosted mode
this basically brings us back to the point of the original PR,
but with the code being optional.
2022-05-27 18:05:36 +08:00
bunnie
a8e7809087 fixup feature fest 2022-05-27 17:41:22 +08:00
bunnie
a8f761722a start to lay in u2f messaging infrastructure 2022-05-26 17:58:22 +08:00
bunnie
ca275308ef Merge branch 'usbdev' into main 2022-05-17 02:31:10 +08:00
bunnie
346caad315 Add the usb-device-xous driver to the default hardware config
Also includes the USB test commands in shellchat.

This is different from the usb-test crate, in that it's fully
integrated into Xous. usb-test is just for quick-testing the USB
driver, in the absence of most of the rest of Xous.
2022-05-17 00:46:52 +08:00
bunnie
867b0efdf2 hosted mode breaks under windows due to missing .exe on some configs
I don't know why it doesn't break under a default config, but if
xous-core is cloned to a directory that doesn't match the repo
name this breaks. This patch tries to fix it for that case.
2022-05-10 17:37:41 +08:00
bunnie
fd2aa438c0 still struggling a bit to get basic USB connectivity test to pass 2022-05-05 20:51:48 +08:00
bunnie
796b7292a6 build for hardware by default 2022-05-03 01:13:11 +08:00
bunnie
74dafa4788 augment the xtask to deal with more usb-dev scenarios 2022-04-27 02:41:38 +08:00
bunnie
9768503087 Merge branch 'main' into usbdev 2022-04-25 18:44:37 +08:00
Sean Cross
fa98b865df xtask: add --no-timestamp option
Add a --no-timestamp build option to skip rebuilding `ticktimer`.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-04-25 17:41:35 +08:00