bunnie
8b83fb7c65
remove heapless, go to libstd for all collections!!!!
...
*fistpump*
2021-08-04 01:25:32 +08:00
Sean Cross
b86e0a65cd
services: recognize xous as a hardware OS
...
Support `xous` as a valid OS. This allows us to build the entire kernel
under this target.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-02 18:11:48 +08:00
bunnie
7e7ae82156
pivot spinor implementation
...
realizing some core assumptions were wrong, so, scrapping and
restarting
2021-07-15 23:00:50 +08:00
bunnie
aa967a5a17
quiet up hosted mode build warnings
2021-06-18 22:37:08 +08:00
bunnie
fadc9c29ab
Merge remote-tracking branch 'origin/master' into bunnie-dev
2021-06-02 03:59:25 +08:00
bunnie
7c55925926
intermediate check-in on wfi
2021-05-30 23:07:16 +08:00
bunnie
0e1464b815
turn off wdt for now
2021-05-30 04:50:54 +08:00
bunnie
30aa794f30
add reference counting on connections between servers
...
the connection number is re-used for all objects created
within a process space, so you can't `Drop` the connection
immediately when an object goes out of scope. You have to
make sure all instance of the object go out of scope. This
patch adds reference counting to all the objects so that
the `Drop` function works as intended.
2021-05-21 16:24:30 +08:00
Sean Cross
b617ed2f32
services: ticktimer-server: explicitly specify opcode numbers
...
These opcode numbers will be baked in at the ABI level for several
libraries such as libstd.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-20 12:47:02 +08:00
Sean Cross
eb7895d601
xous: add a return code to TerminateProcess
...
As part of this refactor, make `terminate_process()` a divergent call.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-20 11:01:00 +08:00
bunnie
391122823d
refactor heapless version in attempt to debug issue that cropped up in xous-names
...
somehow, updating the toolchain has broken the FnvIndexMap implementation
2021-05-08 18:44:23 +08:00
bunnie
0ca2f58c6e
add a note to indicate if we're in cold sleep
...
it's not terribly aesthetic right now, but we can fix that later.
2021-05-02 03:36:54 +08:00
bunnie
c7f1fe0817
cleanup after debugging ticktimer
...
the problem was that the load signal was not being respected
by the hardware, small patch to FPGA required but now all is OK.
2021-05-01 20:56:12 +08:00
bunnie
b28dff273f
intermediate checkin figuring out ticktimer issue
...
seems to be a hardware problem with the loading routine
2021-05-01 19:13:22 +08:00
bunnie
087bb39ea7
chase down some bugs
...
noted there is a heisenbug on the ticktimer, it only manifests
when the log level is at info. go figure!
2021-05-01 02:26:28 +08:00
bunnie
46fe3885dc
cleanup more turds left over during the bringup of suspend/resume
2021-05-01 00:35:32 +08:00
bunnie
640ddb48e8
suspend/resume now works to hardware
2021-04-30 19:29:36 +08:00
bunnie
a55735fb1f
add llio to suspend/resume set
2021-04-29 23:15:47 +08:00
bunnie
6e1e74ed84
a minimal but successful touch-and-go suspend/resume cycle
2021-04-29 16:37:43 +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
3043769170
move the os_timer into the susres server, so we can suspend it
...
also clean up various syntax errors
2021-04-28 15:38:56 +08:00
bunnie
d62f936454
start fleshing out the susres server
2021-04-27 02:53:22 +08:00
bunnie
655c92a36c
clean up ticktimer susres prototype code
2021-04-27 00:40:50 +08:00
bunnie
061284ec5f
debugging BOOST mode glitch issue
...
Here's an arcane bug for you:
When powering down, the Spartan 7 3.3V I/O drivers will
output a roughly 800us wide glitch as 3.3V falls below around
1.7V, if the 0.95V core voltage comes down first (which it does
because we have an active discharge on 0.95V, but not on 3.3V).
In this case, it's just wide and high enough to cause the
BOOST mode line to engage, which takes the BOOST output
and ties it to VBUS, which is just enough for the system to
think you're powering it back on again. Which is not what
you want when powering down.
The ultimate fix was to put a heftier pull-down on the BOOST
line so that it can't trip the BOOST output into the VBUS.
Another option could be more active discharge FETs, but that
would require a full board spin and we are already at certification,
so we'll stick with the stronger pull-down on BOOST. It seems to
be a robust fix in the worst corner cases we can find.
The downside is that when powering an external USB device,
you are burning an extra 30mW of power overcoming the pull-down,
but typically, any external USB devices plugged into Precursor
will burn far in excess of that, so the delta should be negligible.
2021-04-23 15:33:14 +08:00
bunnie
1378203427
clean up warning
2021-04-16 01:13:56 +08:00
bunnie
024a072a7c
absorb WDT fix to eliminate a race condition
2021-04-15 18:40:00 +08:00
bunnie
93400df67c
an initial cut at fcc test commands
2021-04-15 04:10:47 +08:00
bunnie
45c90659e5
rtc first draft
2021-04-08 02:30:57 +08:00
bunnie
ca349ec1b0
clean up minor bugs and other issues
2021-04-06 22:38:11 +08:00
bunnie
8c12dbe2af
found a bug.
2021-04-06 01:52:26 +08:00
bunnie
9ba2fb134c
refactor most major modules, but Xous now crashes
2021-04-05 23:50:00 +08:00
bunnie
25dc27f2f7
add drop implementation to servers
2021-04-02 22:01:40 +08:00
bunnie
da255cc1ab
use macro expansion for argument extraction of scalars
2021-04-02 15:38:38 +08:00
bunnie
5a6ce66d7e
clean up log messages now that we can identify the logging source
2021-04-02 03:10:13 +08:00
bunnie
68b9addd45
redo ticktimer/trng to use the new convenience functions
2021-04-02 02:45:00 +08:00
bunnie
2407f17267
fix typos
2021-04-01 17:20:28 +08:00
bunnie
dc2519c5ef
trying out new API names
2021-04-01 03:47:10 +08:00
bunnie
f35d478cf0
attempt to refactor xous_names
2021-03-29 04:35:11 +08:00
bunnie
e889765caf
refactor the Ticktimer API.
2021-03-28 18:14:41 +08:00
bunnie
bb3d96de27
Merge branch 'master' of https://github.com/betrusted-io/xous-core into HEAD
2021-03-25 02:37:58 +08:00
Sean Cross
d16d0c9bd8
ticktimer-server: set quantum to 10ms
...
This is an experiment to see if this shorter time improves things.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-23 21:43:35 +08:00
Sean Cross
e624c184cd
ticktimer-server: rewrite sleep server as deadline
...
Use deadlines for sleep, rather than calculating the amount of remaining
time.
This keeps time consistent, because it means we don't have to
recalculate all sleeps whenever one expires.
It also allows us to take advantage of the hardware which will fire an
interrupt if we schedule a wakeup in the past.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-23 21:41:30 +08:00
Sean Cross
89cf0c1ab1
ticktimer-server: run rustfmt on Cargo.toml
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-23 21:37:52 +08:00
bunnie
184a284da5
sleep_ms() bug exhibitition
2021-03-18 17:34:48 +08:00
bunnie
93a7567618
ticktimer prints its PID now
2021-03-01 13:46:02 +08:00
bunnie
ea78de8014
convert all services to use xous-names server
2021-01-09 02:12:01 +08:00
bunnie
bdbe8f8288
intermediate checkin
2021-01-05 04:40:34 +08:00
bunnie
b7263f7ef0
Merge remote-tracking branch 'origin/master' into hardware
2021-01-04 03:19:23 +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
bunnie
b9a31f7d99
try to layer in the fcc agent
2020-12-31 19:31:12 +08:00