523524c319
zc706: add RTIO log channels
2020-07-19 14:05:35 +08:00
6e75741aa3
analyzer: remove debug print
2020-07-16 18:37:15 +08:00
f69e41af5e
gateware: fix VADJ I/O standard conflict
2020-07-16 17:58:31 +08:00
6a361893c2
gateware: make LEDs common to all variants
...
Makes quick testing easier.
2020-07-16 17:36:27 +08:00
ae7ca22db9
dma: fix endianness issues
2020-07-16 17:27:08 +08:00
a9f725dd33
kernel: added error message after uncaught exception
2020-07-16 17:11:35 +08:00
caef2a9f84
runtime/panic: prevent nested panic and added core ID in panic msg.
2020-07-16 17:11:35 +08:00
16158acfa9
analyzer: close connection gracefully
2020-07-16 17:10:24 +08:00
10a12245a3
analyzer: fix endianness issue
2020-07-16 17:10:09 +08:00
84630d66e3
rpc: added #[repr(C)]
for structs.
2020-07-16 15:48:17 +08:00
4457af7277
rpc: Fixed alignment problem.
...
Fixes issue #42 .
Previously there was no fix for the variable alignment.
We calculate the position of the variable based on the size
of the previous variable, so we could break the alignment requirement
for variables. For example, having a `i64` after `bool` could break
the alignment required for `i64` and trigger DataAbort or data
corruption.
However, this requires the same data layout and LLVM type for the
variables. If this cannot be maintained, this would break the alignment
on the other side of the RPC, either from host to kernel or kernel to
host.
2020-07-16 14:06:39 +08:00
2e10922715
analyzer: implement firmware part
2020-07-16 11:47:55 +08:00
b62fbce826
mgmt: log incoming connection
2020-07-16 11:36:26 +08:00
0c6db0d12c
analyzer: use 32-bit byte_count
2020-07-16 11:36:04 +08:00
36338ea3b2
Makefile: fix pl.rs dependencies
2020-07-16 11:35:40 +08:00
0b0ca8de49
analyzer: drive wid and wstrb
2020-07-15 23:11:19 +08:00
8e758ecc17
add RTIO analyzer core (untested)
2020-07-15 23:06:34 +08:00
b68cb137e5
dma: style
2020-07-15 23:06:14 +08:00
92405ffe91
logger: changed from RefCell to Mutex.
2020-07-15 17:04:16 +08:00
2568d62865
mgmt: fixed pull log
2020-07-15 16:05:00 +08:00
5149d37be9
szl: added cache flush and memory barriers.
...
Resolves #50 .
2020-07-14 17:02:42 +08:00
8e3574080c
core1: added cache flush and barriers.
2020-07-14 10:53:35 +08:00
49d93e20dd
dyld: add Image.rebind()
2020-07-14 01:31:54 +02:00
12ba867268
dma: fix and cleanup test
2020-07-13 18:58:08 +08:00
5c3c3c26b5
dma: fix inflight_cnt and eop generation
2020-07-13 18:51:55 +08:00
fa2d71615a
report async RTIO errors
2020-07-13 16:06:05 +08:00
b42ab0634b
complete RTIO exceptions
2020-07-13 15:47:34 +08:00
62f39e2c08
mgmt: Implemented network log access.
2020-07-13 15:15:06 +08:00
855b26aa19
Logger: ported log_buffer.
2020-07-13 14:59:56 +08:00
ea96cf96d3
dma: add simulation test (WIP)
2020-07-13 12:04:10 +08:00
10888cc6c6
dma: remove unneeded import
2020-07-13 10:42:02 +08:00
a7073edf79
add DMA core (untested)
2020-07-13 10:37:17 +08:00
e3ff21b1b5
create gateware folder
2020-07-11 17:49:54 +08:00
7aec419ed6
kernel: added core1 instruction cache flush
2020-07-10 17:21:55 +08:00
68d27ca2ee
comms: removed core1 restart
2020-07-10 17:21:55 +08:00
407e18a6a0
fix typos
2020-07-10 16:36:45 +08:00
2d58193930
Panic: single line backtrace for addr2line.
2020-07-10 12:26:28 +08:00
c935e450df
makefile: automate runtime dependencies
2020-07-09 09:41:45 +08:00
656e768f06
makefile: update dependencies
2020-07-09 09:31:36 +08:00
2c1773b91b
kernel: refactor main_core1 into KernelImage
2020-07-08 23:49:43 +02:00
b3d4590eec
kernel: split into {api,control,core1,rpc}
2020-07-08 23:49:32 +02:00
68045ce0c5
mark RTIO clock as asychronous to system clock
2020-07-08 20:37:53 +08:00
7ee67db8e3
use IOSERDES TTL
2020-07-08 20:02:46 +08:00
bd7d58e239
add RTIO PLL and clock source selection
2020-07-08 19:58:13 +08:00
6454315cd2
config: refactor and share
2020-07-08 19:24:26 +08:00
e263814546
Kernel: Added startup kernel
2020-07-08 15:54:50 +08:00
a8de572014
set up PL clocks
2020-07-07 19:40:32 +08:00
b13da96835
increase CSR bus width to 32 bits
...
Before:
Minimum interval for sustained TTL output switching ... 1.554e-06
After:
Minimum interval for sustained TTL output switching ... 5.17e-07
2020-07-07 17:22:07 +08:00
7bfe882710
eh_artiq: reduce verbosity
2020-07-07 17:21:28 +08:00
c071507ff8
RTIO: implemented exceptions
2020-07-07 16:26:33 +08:00
f1750cf8cd
Kernel: Fixed use-after-free
2020-07-07 15:51:12 +08:00
0f797284e2
SdReader: fixed write cache bug.
2020-07-07 14:02:13 +08:00
e6cf3e90d3
update zc706
2020-07-07 12:50:05 +08:00
0119022b2c
remove compiler warning
2020-07-06 21:55:30 +08:00
de2c2af523
use new exception vectors
2020-07-06 21:16:32 +08:00
8c0b7cdcf2
runtime: adjust stack and heap sizes
2020-07-06 20:48:22 +08:00
7661b2a288
remove unused import
2020-07-06 20:41:24 +08:00
c59772dca3
Exception handling: Implemented RPC exception.
2020-07-06 15:34:49 +08:00
f895773535
runtime: do not use slcr soft_reset in panic
2020-07-06 13:07:52 +08:00
33d12801b7
runtime: use network addresses from config
2020-07-06 12:59:51 +08:00
bbc1ffec8e
szl: disable ps7_init
2020-07-06 12:31:13 +08:00
bbe6812792
add network address config code
2020-07-06 12:04:22 +08:00
e207c073ee
config: remove unnecessary mut
2020-07-06 12:04:22 +08:00
0c1de42547
use simplified ps7_init
2020-07-06 00:54:44 +08:00
3bd4643009
use fpu_enable from zc706
2020-07-06 00:18:28 +08:00
de8da59e56
adjust logging levels
2020-07-05 23:46:23 +08:00
60d42b1aaa
remove duplicated write_chunk function
2020-07-05 17:13:14 +08:00
e65d4e0e84
Kernel: implemented KernelException
2020-07-03 17:21:42 +08:00
f3c3bd7384
Backtrace: panic handler with proper backtrace.
2020-07-02 13:12:12 +08:00
3f2024e4e0
runtime: Updated dependency to disable default panic handler
2020-07-02 13:08:18 +08:00
57da6f05fd
szl: enabled FPU
2020-07-02 13:06:36 +08:00
214337387f
cc: fixed error and compiled unlzma using cc
2020-07-02 11:41:58 +08:00
b0aa77c73f
fix compilation warning
2020-07-02 10:34:43 +08:00
bdcae0db64
fix permissions
2020-07-02 10:28:40 +08:00
24bd541dfd
Exception handling: added dependencies to makefile
2020-07-02 10:13:47 +08:00
eb750eb1f0
Exception handling: patched exception handling for ARTIQ.
2020-07-02 10:13:42 +08:00
26ac3194d1
Exception handling: copied eh_artiq from current artiq firmware.
2020-07-02 10:08:16 +08:00
0a35f68562
Added libpanic_unwind/dwarf from rustc as libdwarf.
2020-07-02 09:51:47 +08:00
6be44c3483
Libunwind: build libunwind with rust bindings
2020-07-02 09:51:44 +08:00
9282dcffdb
Dyld: provides unwind section for libunwind
2020-07-02 09:50:53 +08:00
d915211264
Libunwind: patched phase1 end of stack detection.
2020-07-02 09:50:53 +08:00
f82ffe8cf2
Libunwind: use dyld instead of static linker symbols for unwind section.
2020-06-30 17:12:02 +08:00
b21cccb4d2
Libunwind: added system header
2020-06-30 17:10:45 +08:00
fd229a1b26
Copied LLVM Libunwind from commit 3e6ec2a
2020-06-30 16:52:49 +08:00
29dd311c0f
Runtime config: fixed warning
2020-06-29 10:05:15 +08:00
8d1b9f7f23
dyld: fix compilation warning
2020-06-28 18:15:48 +08:00
53d931dccc
szl: invoke ps7_init::apply() at start
2020-06-27 02:36:36 +02:00
d8745074b4
update dependencies
2020-06-27 02:29:45 +02:00
a71ee143ac
update dependencies
2020-06-25 20:21:44 +08:00
507edb5a78
make config demo errors non-fatal
2020-06-25 11:27:50 +08:00
654d65a6d5
dyld: keep exidx p_vaddr as it is contained in LOAD sections already
...
should fix Gitea issue #17
2020-06-25 02:03:29 +02:00
571ab66114
dyld: keep EXIDX section data through program header entry
2020-06-24 00:18:34 +02:00
64cdf0ade3
sd_reader: use const for magic numbers
2020-06-18 23:56:32 +02:00
d9bd42389f
kernel: flush now write-buffered dcache of image before execution
2020-06-18 20:14:02 +02:00
06ad8dfe27
szl: flush now write-buffered dcache of DDR pages before executing instructions in them
2020-06-18 18:33:47 +02:00
f750234cb5
update dependencies
2020-06-18 18:33:32 +02:00
24853ab090
szl: move bss and stack to OCM3 to save space
2020-06-18 17:28:34 +08:00
6608c16f46
Config: Renamed ConfigNotFound into KeyNotFoundError.
2020-06-18 12:05:24 +08:00
f43ad05be5
Testing for config.
2020-06-18 11:33:52 +08:00
a55a6291a4
SD reader: optimized stack and binary size
2020-06-18 11:33:18 +08:00