This removes all custom string formatting from the `log-server`.
This should improve performance, because we're not roundtripping between
various archive formats. We instead do a single copy and operate
directly on that buffer. We also now write bytes directly, as opposed to
creating intermediate strings.
This fixes a memory issue that was introduced recently.
Signed-off-by: Sean Cross <sean@xobs.io>
Mark the private fields in a `MemoryRange` struct as being private. This
allows us to perform operations on the memory range armed with the
knowledge that the entire range is valid and unaliased.
Signed-off-by: Sean Cross <sean@xobs.io>
Previously, the log server would call `setup` on an uninitialized
struct. This is very undefined behavior, and risked running into
optimization errors.
This reworks the log server such that the singleton is protected by a
`None` value that gets initialized.
Signed-off-by: Sean Cross <sean@xobs.io>
This rewrites the entire project so that most runnable projects now use
`xous-ipc` instead of `xous::String` where possible.
This also removes `rkyv` from the list of dependencies in `xous-rs`.
Signed-off-by: Sean Cross <sean@xobs.io>
Turns out the build time only seems to capture the last time
you managed to force a full rebuild (???). Even though cargo
indicates that a rebuild had happened of the main.rs, the environment
variable containing the time is not being updated, because the
build.rs file isn't being run. But! if you force a trigger of
that file, then cargo decides to rebuild *everything* which greatly
increases the build time, which is a drag for development.
So, just remove the build time notice. If it's not going to be
correct, better to not emit it than to be outright misleading...
Servers will, by default, get randomly-assigned SIDs. Certain servers
will want to have well-known SIDs, such as the log server or the
nameserver. These will use a separate call in order to perform this
priveledged operation.
A subsequent patch will add `CreateServer`.
Signed-off-by: Sean Cross <sean@xobs.io>
This is now able to understand the panic log messages that are sent by
services that are in the procses of panicking.
Signed-off-by: Sean Cross <sean@xobs.io>
If users are including the `log-server` crate, then they probably want
logging regardless of what features are enabled.
Signed-off-by: Sean Cross <sean@xobs.io>